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
A voir également:

3 réponses

melanie1324 Messages postés 1561 Statut Membre 155
 
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
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
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