En VBA comment demander si une cellule contient du texte ?
Tu peux utiliser la fonction VarType pour savoir quel est le type de données
d'une variable :
If (VarType(Range("A1").Value)) = 8 Then
MsgBox "La cellule A1 contient du texte"
Else
MsgBox "La cellule A1 ne contient pas du texte"
End If
d'une variable :
If (VarType(Range("A1").Value)) = 8 Then
MsgBox "La cellule A1 contient du texte"
Else
MsgBox "La cellule A1 ne contient pas du texte"
End If
Frédéric Sigonneau, (N°175)

J'ai 100 cellules (les unes en dessous des autres) à saisir. Mes chiffre saisis font une
largeur de 2 caractères. Comment faire pour que je puisse saisir à la suite toutes mes données
sans devoir appuyer à chaque fois sur Enter ?
Une façon de faire est de créer une boîte de dialogue (UserForm1) avec une
zone de texte (TextBox1) à laquelle sont attachées une première fonction
détectant la présence d'un deuxième caractère dans la zone de texte qui
déclenche alors l'exécution de la fonction de rangement... comme par exemple
les fonctions suivantes:
Private Sub TextBox1_Change()
If TextBox1.TextLength = 2 Then
Ranger
TextBox1.Value = ""
Else
End If
End Sub
Sub Ranger()
MsgBox (UserForm1.TextBox1.Value)
ActiveCell.FormulaR1C1 =UserForm1.TextBox1.Value
Activecell.offset(1,0).select
End Sub
zone de texte (TextBox1) à laquelle sont attachées une première fonction
détectant la présence d'un deuxième caractère dans la zone de texte qui
déclenche alors l'exécution de la fonction de rangement... comme par exemple
les fonctions suivantes:
Private Sub TextBox1_Change()
If TextBox1.TextLength = 2 Then
Ranger
TextBox1.Value = ""
Else
End If
End Sub
Sub Ranger()
MsgBox (UserForm1.TextBox1.Value)
ActiveCell.FormulaR1C1 =UserForm1.TextBox1.Value
Activecell.offset(1,0).select
End Sub
Jean-Pierre Pastinelli, (N°174)
Quel est le nombre maximum de caractères qu'on peut entrer dans une cellule ?
De mémoire, sous XL95, le maximum est de 255 caractères (ou -ce qui est
moins connu- de 1024 caractères s'il s'agit d'une formule). Sous XL2000,
le maximum est passé à 32000 caractères. A+
moins connu- de 1024 caractères s'il s'agit d'une formule). Sous XL2000,
le maximum est passé à 32000 caractères. A+
Laurent Mortézai, (N°173)
Comment afficher dans une cellule de la feuille la valeur de la dernière cellule d'une colonne,
sachent que le nombre de valeurs dans cette colonne augmente régulièrement ?
Si tes valeurs sont dans la colonne A. Tu sélectionnes un jour donné la dernière
valeur de ta
colonne et dans insertion/nom/définir, tu nommes cette cellule LaDer et dans la
case en bas
"fait référence à" tu tapes
=DECALER(A$1;NBVAL(A:A)-1;0)
Ensuite dans la cellule ou tu veux voir la valeur de cette cellule, tu tapes =
LaDer
Si tu ajoutes une valeur en dessous de celle-ci, ce sera la nouvelle valeur qui
s'inscrira.
Si tu as une étiquette en tête de ta colonne de valeurs, ta formule doit être :
=DECALER(A$2;NBVAL(A:A)-2;0).
*****************************
Autre solution, avec VBA :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
Range("C10") = Range("A65356").End(xlUp)
End Sub
valeur de ta
colonne et dans insertion/nom/définir, tu nommes cette cellule LaDer et dans la
case en bas
"fait référence à" tu tapes
=DECALER(A$1;NBVAL(A:A)-1;0)
Ensuite dans la cellule ou tu veux voir la valeur de cette cellule, tu tapes =
LaDer
Si tu ajoutes une valeur en dessous de celle-ci, ce sera la nouvelle valeur qui
s'inscrira.
Si tu as une étiquette en tête de ta colonne de valeurs, ta formule doit être :
=DECALER(A$2;NBVAL(A:A)-2;0).
*****************************
Autre solution, avec VBA :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
Range("C10") = Range("A65356").End(xlUp)
End Sub
ChrisV, Flo Cabon, Alain Vallon, Jean-Paul Sabatier, (N°172)