Test if jamais vrai VBA

Résolu
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:
    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
--
la théorie et la pratique c'est la même chose...enfin en théorie
Configuration: win Xp Sp2

13 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  2. pou pouille Messages postés 212 Statut Membre 31
     
    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
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      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
  4. pou pouille Messages postés 212 Statut Membre 31
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  7. pou pouille Messages postés 212 Statut Membre 31
     
    merci ,meilleurs voeux a vous deux aussi
    0
  8. pou pouille Messages postés 212 Statut Membre 31
     
    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
  9. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Essaye CDate(range("G" & i))
    0
  10. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    re-re,

    essaies
    range("G" & i).NumberFormat = "dd/mm/yy;@"
    0
  11. pou pouille Messages postés 212 Statut Membre 31
     
    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
  12. pou pouille Messages postés 212 Statut Membre 31
     
    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
  13. garion28 Messages postés 1545 Date d'inscription   Statut Membre Dernière intervention   408
     
    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
  14. pou pouille Messages postés 212 Statut Membre 31
     
    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