Test if jamais vrai VBA

Résolu/Fermé
pou pouille Messages postés 207 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 - 5 janv. 2010 à 11:02
pou pouille Messages postés 207 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 - 6 janv. 2010 à 11:46
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:
    If Sheets(4).Range("G" & i).Value = Me.ComboBox2.Value Then
le 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
A voir également:

13 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
5 janv. 2010 à 11:15
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

0
pou pouille Messages postés 207 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
5 janv. 2010 à 11:24
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 le
Cnum
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
5 janv. 2010 à 11:46
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!) ;-)
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
5 janv. 2010 à 11:58
Salut michel,
Oui effectivement, n'ai pris que 2 cafés ce matin... Merci de m'avoir repris.
Si tu n'as pas vu mon message d'hier, je te présente mes meilleurs voeux pour 2010.
0
pou pouille Messages postés 207 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
5 janv. 2010 à 11:53
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
5 janv. 2010 à 13:25
donc, meilleurs voeux, Pijaku, et pendant que j'y suis, même punition pour pou pouilleet tous ceusse qui liront cette discussion
what else ?
0
pou pouille Messages postés 207 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
5 janv. 2010 à 13:40
merci ,meilleurs voeux a vous deux aussi
0
pou pouille Messages postés 207 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
5 janv. 2010 à 15:01
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
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
5 janv. 2010 à 15:09
Essaye CDate(range("G" & i))
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
5 janv. 2010 à 16:38
re-re,

essaies
range("G" & i).NumberFormat = "dd/mm/yy;@"
0
pou pouille Messages postés 207 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
5 janv. 2010 à 17:05
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
0
pou pouille Messages postés 207 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
6 janv. 2010 à 10:40
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")
0
garion28 Messages postés 1543 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011 404
6 janv. 2010 à 11:01
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 ?
0
pou pouille Messages postés 207 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
6 janv. 2010 à 11:46
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
0