VBA - Condition si nombre à virgule alors...
Résolu/Fermé
zivodul8
Messages postés
230
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
19 mai 2015
-
16 juin 2011 à 12:11
blux Messages postés 25922 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 27 mars 2024 - 16 juin 2011 à 17:02
blux Messages postés 25922 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 27 mars 2024 - 16 juin 2011 à 17:02
A voir également:
- VBA - Condition si nombre à virgule alors...
- Excel cellule couleur si condition texte - Guide
- Vba ouvrir un fichier excel avec chemin ✓ - 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
- Find vba - Astuces et Solutions
- En raison d'un nombre important d'échec de connexion snapchat - Forum Snapchat
7 réponses
Bonjour,
Ce que je te conseille de faire c'est
SI ta chaine contient un caractère spécial ici un point ALORS
aligner à droite
SINON
aligner à gauche
FIN Si
En fait dès que dans ta chaine tu rencontre l'élément point tu en déduis que c'est un nombre à virgule
Ce que je te conseille de faire c'est
SI ta chaine contient un caractère spécial ici un point ALORS
aligner à droite
SINON
aligner à gauche
FIN Si
En fait dès que dans ta chaine tu rencontre l'élément point tu en déduis que c'est un nombre à virgule
zivodul8
Messages postés
230
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
19 mai 2015
22
16 juin 2011 à 13:35
16 juin 2011 à 13:35
Je n'ai pas réussi à faire un :
Il n'y a pas d'autres méthodes?
Application.WorksheetFunction.Search
Il n'y a pas d'autres méthodes?
blux
Messages postés
25922
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
27 mars 2024
3 281
16 juin 2011 à 13:39
16 juin 2011 à 13:39
Salut,
tu peux faire ça avec la fonction int(nombre) qui renvoie la partie entière d'un nombre.
Si elle est égale au nombre lui-même, c'est qu'il n'y a pas de virgule.
tu peux faire ça avec la fonction int(nombre) qui renvoie la partie entière d'un nombre.
Si elle est égale au nombre lui-même, c'est qu'il n'y a pas de virgule.
IF INT(nombre) = nombre THEN ... END IF
zivodul8
Messages postés
230
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
19 mai 2015
22
16 juin 2011 à 13:43
16 juin 2011 à 13:43
Arff, c'est tellement bête! Je vais essayer merci ;-)
blux
Messages postés
25922
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
27 mars 2024
3 281
16 juin 2011 à 14:03
16 juin 2011 à 14:03
Prends plutôt FIX(nombre), cette fonction n'arrondit pas.
Ca t'évitera de tester si 3 = 2, pour le cas où tu aurais 2,999999...
Ca t'évitera de tester si 3 = 2, pour le cas où tu aurais 2,999999...
zivodul8
Messages postés
230
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
19 mai 2015
22
16 juin 2011 à 14:48
16 juin 2011 à 14:48
Merci Blux j'ai failli tomber dans le panneau!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
zivodul8
Messages postés
230
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
19 mai 2015
22
16 juin 2011 à 14:50
16 juin 2011 à 14:50
J'ai un autre (rapide) problème. Je cherche à déterminer le numéro de la ligne où en colonne, deux cellules vides se suivent verticalement. Voilà ce que j'ai fait mais cela ne fonctionne pas :
Merci!
Sub NbLigne() Dim NbLigne, i As Integer i = 1 Do While Range("A" & i).Value <> "" And Range("A" & i + 1).Value <> "" NbLigne = i i = i + 1 Loop MsgBox NbLigne End Sub
Merci!
zivodul8
Messages postés
230
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
19 mai 2015
22
16 juin 2011 à 14:54
16 juin 2011 à 14:54
J'ai résolu, je viens de découvrir qu'en VBA le ET se traduisait par
oret non
and!
Ctesias
Messages postés
724
Date d'inscription
lundi 16 mai 2011
Statut
Membre
Dernière intervention
1 décembre 2011
36
16 juin 2011 à 14:57
16 juin 2011 à 14:57
non, c'est faux
blux
Messages postés
25922
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
27 mars 2024
3 281
Modifié par blux le 16/06/2011 à 15:00
Modifié par blux le 16/06/2011 à 15:00
Ce n'est pas en VBA, c'est en logique booléenne, mais uniquement à cause du fait que tu as des <>, si tu avais des =, il te faudrait mettre un AND.
Les explications ici :
https://forums.commentcamarche.net/forum/affich-16025052-shell-condition
Et comme je le dis, c'est un truc vieux comme les ordinateurs ;-)
Les explications ici :
https://forums.commentcamarche.net/forum/affich-16025052-shell-condition
Et comme je le dis, c'est un truc vieux comme les ordinateurs ;-)
zivodul8
Messages postés
230
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
19 mai 2015
22
16 juin 2011 à 15:02
16 juin 2011 à 15:02
Humm, à méditer...
Merci une nouvelle fois, je ne re-ferais pas l'erreur :)
Merci une nouvelle fois, je ne re-ferais pas l'erreur :)
Ctesias
Messages postés
724
Date d'inscription
lundi 16 mai 2011
Statut
Membre
Dernière intervention
1 décembre 2011
36
16 juin 2011 à 14:57
16 juin 2011 à 14:57
Ce que tu peux faire, c'est :
Dim nombre1 as integer Dim nombre2 as string Nombre1=Int(nombre2) If nombre2%nombre1 = 0 then décaler a gauche Sinon décaler à droite end if
zivodul8
Messages postés
230
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
19 mai 2015
22
16 juin 2011 à 15:02
16 juin 2011 à 15:02
Aussi ;-)
blux
Messages postés
25922
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
27 mars 2024
3 281
16 juin 2011 à 15:03
16 juin 2011 à 15:03
Je ne suis pas persuadé que l'on puisse diviser une chaine par un nombre...
Ctesias
Messages postés
724
Date d'inscription
lundi 16 mai 2011
Statut
Membre
Dernière intervention
1 décembre 2011
36
16 juin 2011 à 15:04
16 juin 2011 à 15:04
Hum... J'ia mis string rapidos comme cela. Mais je ne me souvens plus si il y a une possibilité d'initialiser des chiffre avec des chiffres a virgule.
blux
Messages postés
25922
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
27 mars 2024
3 281
16 juin 2011 à 17:02
16 juin 2011 à 17:02
a = 9999.22