[VBA]Condition sur le type d'une valeur
Résolu/Fermé
A voir également:
- [VBA]Condition sur le type d'une valeur
- Excel cellule couleur si condition texte - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- Le fichier contient le nombre de voyageurs dans 3 gares. dans la cellule b5, saisissez une formule qui calcule le total et se met à jour si on change une valeur du tableau. quel total obtenez-vous ? quelle formule avez-vous saisie ? ✓ - Forum Excel
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Excel renvoyer la valeur d'une cellule en fonction d'une autre - Forum Logiciels
2 réponses
jean_pierre
Messages postés
36
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
5 octobre 2011
6
16 août 2011 à 16:23
16 août 2011 à 16:23
Bonjour
en utilisant la fonction IsNumeric(VarName) qui renvoie une réponse booléenne
ou bien TypeName(VarName) qui renvoie "Integer","String",.....
en utilisant la fonction IsNumeric(VarName) qui renvoie une réponse booléenne
ou bien TypeName(VarName) qui renvoie "Integer","String",.....
melanie1324
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
16 août 2011 à 16:27
16 août 2011 à 16:27
bonjour,
voici une petite boucle qui permet de le faire :
Sub cherchedécimal()
i = 1
'balaie toutes les lignes de la colonne 1 jusqu'à ce que la cellule de la colonne 1 de la ligne i soit vide
Do While Cells(i, 1) <> ""
car = Len(Cells(i, 1)) 'variable car = nombre de caractère de la cellule de la ligne i et de la colonne 1
valeur = Cells(i, 1) 'variable valeur = cellule de la ligne i et de la colonne 1
Do While car > 0 ' tourne jusqu'à ce que valeur n'est plus de caractères
If Left(valeur, 1) = "," Then 'si le premier caractère de valeur à gauche est une virgule représentant ton nombre décimal
mess = MsgBox("Il y a un chiffre décimal dans la liste", vbOKOnly) 'alors affichage d'un message d'erreur
Exit Sub 'stop d ela macro
Else
valeur = Right(Cells(i, 1), Len(valeur) - 1) 'valeur devient égal à valeur moins le premier caractère situé à gauche
car = Len(valeur) ' car = nombre de caractère de valeur
End If
Loop
i = i + 1
Loop
End Sub
voici une petite boucle qui permet de le faire :
Sub cherchedécimal()
i = 1
'balaie toutes les lignes de la colonne 1 jusqu'à ce que la cellule de la colonne 1 de la ligne i soit vide
Do While Cells(i, 1) <> ""
car = Len(Cells(i, 1)) 'variable car = nombre de caractère de la cellule de la ligne i et de la colonne 1
valeur = Cells(i, 1) 'variable valeur = cellule de la ligne i et de la colonne 1
Do While car > 0 ' tourne jusqu'à ce que valeur n'est plus de caractères
If Left(valeur, 1) = "," Then 'si le premier caractère de valeur à gauche est une virgule représentant ton nombre décimal
mess = MsgBox("Il y a un chiffre décimal dans la liste", vbOKOnly) 'alors affichage d'un message d'erreur
Exit Sub 'stop d ela macro
Else
valeur = Right(Cells(i, 1), Len(valeur) - 1) 'valeur devient égal à valeur moins le premier caractère situé à gauche
car = Len(valeur) ' car = nombre de caractère de valeur
End If
Loop
i = i + 1
Loop
End Sub
16 août 2011 à 16:39
Merci beaucoup !