[vba] probleme format valeur

Bonjour,

j'ai un code comme suit

If Cells(i, 2) = 2006 And Cells(i, 1) = mois And Cells(i, 4) = "secteur1" Then
Cells(i, 1).Select

de cette facon le code marche bien

j'ai fait une textbox qui s'appelle année

si je met le code suivant ca ne marche pas

annéeréf = année.value

If Cells(i, 2) = annéeréf And Cells(i, 1) = mois And Cells(i, 4) = "secteur1" Then
Cells(i, 1).Select

j'ai fait aussi une combobox pour sélectionner le secteur mais je rencontre le meme soucis

merci de m'aider

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour
    essaies plutôt

    annéeref = inputbox("entrez une année de référence")
    1. Contributeur
      j'ai déja essayer mais le probleme est le meme
    2. @antic80reBonjour,

      je crois qu'on récupère du texte alors essaies avec

      if Cstr(Cells(i,2) = annéeréf ....
      car la comparaison est alosr fausse
  2. Bonjour !

    en haut :
    si tu frappes "format date VBA" et clic sur recherchertu vois apparaître en bas :
    discussions pertinentes trouvées sur le forum
    et <gras>format date enregistrement VBA</gras>

    J'ai aussi retrouvé ceci :
    Les formats de dates attribués aux cellules dans Excel ne se traduisent pas tous de la même façon en VBA.

    Ainsi, une cellule dont on définit le format en jj/mm/aa sous Excel est traduit en VBA par : NumberFormat = dd/mm/yy. Normal.
    Tandis qu'un format défini par jj/mm/aaaa est traduit par : NumberFormat = m/d/yyyy, ce qui change tout.

    Concrètement, en VBA, inverse les mois et les jours.


    1. Contributeur
      je n'est pas de mois ni de jours juste 2006 ou 2007