Egalité entre deux cellules

Résolu/Fermé
roupille008 Messages postés 33 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 4 avril 2013 - 19 févr. 2013 à 10:58
roupille008 Messages postés 33 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 4 avril 2013 - 19 févr. 2013 à 14:42
Bonjour,

Salut tout le monde!
Alors, j'aimerais mettre une condition d'égalité entre deux cellules dans mon bloc if, pour l'instant j'ai essayé les formes suivantes qui ont toutes échouées:

Dim a As Integer
Dim h As Integer

If Worksheets("Feuil1").Range(Cells(a, 1)) = Worksheets("Feuil1").Range(Cells(h, 1)) Then

If Worksheets("Feuil1").Range(Cells(a, 1)).value = Worksheets("Feuil1").Range(Cells(h, 1)).value Then

If Cells(a, 1) = Cells(h, 1) Then

If Range(Cells(a, 1)) = Range(Cells(h, 1) Then

Il me renvoie toujours l'erreur suivante:
erreur d'exécution 1004:
Erreur définie par l'application ou par l'objet.

Voilà, si vous pourriez m'aider ce serait sympa. D'autant que j'ai le sentiment que c'est tout bête comme erreur.

Merci!


PS: aussi, après le then ya un call machin truc mais il n'est pas surligné par le débogueur.
A voir également:

2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
19 févr. 2013 à 11:06
Bonjour

Tu ne donnes pas de valeurs à A et H ?

actuellement A et H valent 0 d'où erreur 1004
1
roupille008 Messages postés 33 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 4 avril 2013
19 févr. 2013 à 11:34
En fait, je leur donne une valeur dans une macro précédente,

J'ai remis une valeur au début de celle-ci, et ça m'affiche toujours le même message d'erreur.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
19 févr. 2013 à 11:40
En fait, je leur donne une valeur dans une macro précédente,

Ok, mais il ne faut pas les déclarer dans cette macro mais les déclarer en public ou globales

ou tu créées une macro paramétrées

D'autre part, je n'ai pas vu de End If

Je regarde ta macro...
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 19/02/2013 à 11:50
Range(cells(a,1)) est une erreur de syntaxe
c'est soit Range("A" & a)
ou
cells(a,1)
essaies cette macro test
With Sheets("feuil1")  
     If .Cells(a, 1) = .Cells(h, 1) Then MsgBox "ok"  
End With
0
roupille008 Messages postés 33 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 4 avril 2013
19 févr. 2013 à 13:53
yop!
Ta macro test marche. J'en conclu quoi?
J'ai écrit mes conditions comme ça pour l'instant. (avec with et .cells)

Il bugg à un autre endroit maintenant...
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
19 févr. 2013 à 14:10
Il bugg à un autre endroit maintenant...
où?
Au besoin copie-colles ta macro entière dans ton prochain message
0
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
19 févr. 2013 à 11:09
Bonjour,

Avez vous initialisé les valeur a et h ? Si elles ne sont pas initialisées, le compilateur renvoie une erreur car impossible d'identifier les cellules concernées.

Sinon les formules suivantes fonctionnent:
If (Cells(a, 1) = Cells(h, 1)) Then
if sheets("Feuil1").cells(a,1) = sheets("Feuil2").cells(h,1) then
1
roupille008 Messages postés 33 Date d'inscription lundi 18 février 2013 Statut Membre Dernière intervention 4 avril 2013
19 févr. 2013 à 11:40
Alors, j'ai tenté l'écriture suivante:
If (Cells(a, 1) = Cells(h, 1)) Then

et cela semble marcher.

Par contre je ne comprend pas ce qu'apporte les parenthèses supplémentaires.
Quelle est la différence pour vba entre les écritures suivantes:
If (Cells(a, 1) = Cells(h, 1)) Then
If Cells(a, 1) = Cells(h, 1) Then

et merci pour ces réponses rapides.
0
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
19 févr. 2013 à 13:28
Aucune différence c'est juste que je préfère mettre des parenthèses par habitude des autres langages (java, c, c++ ...)
0