Test if jamais vrai VBA
Résolu
pou pouille
Messages postés
212
Statut
Membre
-
pou pouille Messages postés 212 Statut Membre -
pou pouille Messages postés 212 Statut Membre -
Bonjour,et bon année,
voila j'ai un petit problème avec une condition if en VBA , j'aimerai savoir d'ou peut provenir le problème:
je teste si la valeur de la cellule "G" & i est = à la combobox2, voila partie de mon code:
dans la feuille 4 colonne G il y a bien la valeur cherchée qui est un nombre.
j'èspère que vous pourez m'aider parce que la je sèche , je fait le meme test avec une chaine de caractère et ca passe nikel chrome... :/
Par avance merci.
Pou Pouille
--
la théorie et la pratique c'est la même chose...enfin en théorie
voila j'ai un petit problème avec une condition if en VBA , j'aimerai savoir d'ou peut provenir le problème:
je teste si la valeur de la cellule "G" & i est = à la combobox2, voila partie de mon code:
If Sheets(4).Range("G" & i).Value = Me.ComboBox2.Value Thenle problème c'est qu'il ne passe jamais le then ( j'ai mis juste un Msgbox dedans pour vérifier)
dans la feuille 4 colonne G il y a bien la valeur cherchée qui est un nombre.
j'èspère que vous pourez m'aider parce que la je sèche , je fait le meme test avec une chaine de caractère et ca passe nikel chrome... :/
Par avance merci.
Pou Pouille
--
la théorie et la pratique c'est la même chose...enfin en théorie
Configuration: win Xp Sp2
13 réponses
-
Salut,
Peut être un problème de format.
Essaye ceci :
si G & i est un nombre :If Sheets(4).Range("G" & i).Value = Cnum(ComboBox2) Then
-
merci de ta réponse rapide, mais quand je lance il me dis:
erreur de compilation: sub ou fonction non définie
et il me surligne leCnum
-
Bonjour,
Comme le dit Pijaku, cela ressemble à un problème de format
c'est un des 2
regarde dans la feuille si la cellule comporte un nombre (=estnum(la cellule))
pour transformer en nombre dans la proc VBA
Csng ou Cdbl si nombre a virgule
cint ou Clng si nombre entier
(Cnum est une fonction XL pas VBa: réveille toi Pijaku, c'est l'heure!) ;-)
-
Merci a tout le deux.
alors oui les cellules sont au format numérique ( je l'ai fais mois meme et vérif avec la fonction).
en effet le problème venait bien du format de la combobox :/
et avec Cint ca fonctionne bien mieux maintenant :)
Merci -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
donc, meilleurs voeux, Pijaku, et pendant que j'y suis, même punition pour pou pouilleet tous ceusse qui liront cette discussion
what else ? -
-
j'ai une autre question concernant les formats.
existe-t-il le meme genre de fonction que Cint etc... mais pour une format date jj/mm/aaaa
quelquechose du style date(range("G" & i))
je sais que il existe Format mais j'ai un soucis: quand je transfert une date d'une feuille à une autre les date supérieures au 12ème jour basculent en format anglais :s -
Essaye CDate(range("G" & i))
-
re-re,
essaies
range("G" & i).NumberFormat = "dd/mm/yy;@" -
ha.... alors la c'est la fin , je comprend plus grand chose a ce qui se passe , déja j'avai essayer de régler le problème en bidouillant, mais la du coups il me passe tout au format anglais , ca craint.
je met mon fichier en ligne si vous pouvez juste jetter un petit coup d'oeil le formulaire s'apelle consulter formation et le DTPicker 1 est celui ou j'ai essayé de metre le format.
http://www.cijoint.fr/cjlink.php?file=cj201001/cijq6FgsGJ.xls -
Hoooo , la galère , j'ai fini par résoudre mon problème mais c'est pas du très joli ,déja que mon fichier est gros.
la solution est que j'ai viré le format date de la feuille dans laquelle je colle des donnée et à chaque fois que je colle j'écrit ca :ladate = Sheets(4).Range("B" & i) Sheets(5).Range("B" & j).Value = Format(ladate, "M/d/yyyy") ladate = Sheets(4).Range("C" & i) Sheets(5).Range("C" & j).Value = Format(ladate, "M/d/yyyy") -
salut,
as tu vérifié que tes variables i et j était bien égal aux ligne souhaité ? que ces variables soit bien initialisé au début ? -
oui oui , ca c'est vérifié ,mais le problème ne venais pas des variables pour les cellules mais plustot du formats des cellules.
Problème résolu