Condition IF et AND en VBA

Laurent83 -  
 Laurent83 -
Bonjour,
Je débute dans le VBA et j'ai un ensemble d'instruction qui ne fonctionne pas pouvez vous m'aider sachant qu' à priori c'est la fonction If qui ne fonctionne pas ?

B = 0
résultat = "Bordelaise Evolution 75Cl"
Réponse1 = "S25"
Sheets("BDD OF").Select
Range("H2").Select
ENTREE4:
Semaine = ActiveCell.Offset(B, -7).Value
Format = ActiveCell(0, 7).Value
If Semaine = Réponse1 And Format = résultat Then
B = B + 1
GoTo ENTREE4
Else: End
End If

3 réponses

  1. melanie1324 Messages postés 1561 Statut Membre 156
     
    Bonjour,

    Je en suis pas sûre de ce que tu veux faire mais je pense que tu devrais rédiger ton code :

    B = 0
    résultat = "Bordelaise Evolution 75Cl"
    Réponse1 = "S25"
    Sheets("BDD OF").Select
    Range("H2").Select
    If Semaine = Réponse1 And Format = résultat Then
    B = B + 1
    GoTo ENTREE4
    Else: End
    End If

    ENTREE4:
    Semaine = ActiveCell.Offset(B, -7).Value
    Format = ActiveCell(0, 7).Value
    0
  2. WeaponEDGE
     
    Bonjour,

    Si ta variable Format doit être égale à la cellule en colonne H alors c'est la qu'est le problème.

    Il faut remplacer ton ActiveCell(0, 7).Value par ActiveCell.Value

    Petite astuce :
    Il y a plusieurs manières de faire référence à une cellule.
    Par exemple, pour sélectionner la cellule B1 tu peux l'écrire de ces manières suivante :
    Range("B1").select
    [B1].select
    Cells(1,2).select


    Quand on utilise Activecell c'est toujours pour parler de la qui est sélectionnée.
    0
  3. Laurent83
     
    Ok les amis je me suis inspiré de vos informations et j'ai testé cela fonctionne. Le bon code qui marche est le suivant : (cela ayant pour effet de tester les valeurs de différentes cellule excel). merci à tous et de vos réponses rapide !!
    B = 0
    résultat = "Bordelaise Evolution 75Cl"
    Réponse1 = "S25"
    Sheets("BDD OF").Select
    Range("H2").Select
    ENTREE4:
    ActiveCell.Offset(B, -7).Select
    Semaine = ActiveCell.Value
    ActiveCell.Offset(0, 7).Select
    Format = ActiveCell.Value
    If Semaine = Réponse1 And Format = résultat Then
    B = B + 1
    GoTo ENTREE4
    Else: End
    End If
    0