Condition IF et AND en VBA

Fermé
Laurent83 - Modifié par Laurent83 le 19/09/2013 à 13:52
 Laurent83 - 19 sept. 2013 à 17:38
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

melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 155
19 sept. 2013 à 14:10
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
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
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