Range incrementer

Bonjour,

Je sais que ma demande est basic mais je n'arrive pas à utiliser .Range avec un I qui s’incrémente dedans.

Dim Addresse As String
Dim I As Integer

            For I = 0 To 500
                Addresse = "$Q" & I
                If Sheets("Carte").Range(Addresse) = 0 Then
                          ...
                End if
            Next I

Pour moi sa me parait compréhensible mais lui il veut pas

il met l’erreur:

Erreur d'execution '1004':

Erreur définie par l'application ou par l'objet

sur la ligne : If Sheets("Carte").Range(Addresse) = 0 Then

Pouvez-vous m'aider? merci !

Cordialement

NI3

Bonjour il y a une erreur car seule les lettres doivent être de type "string" .

Vous déclarez votre variable "addresse" en string, soit en texte. La valeur de i (qui à la base est en format numérique) devient un format "texte" car elle est affectée à la variable addresse qui convertit toute valeur en texte...

De ce fait, vba ne considère plus i comme un "index" mais comme une lettre..

Avec cette syntaxe cela fonctionne :

Dim I As Integer
  For I = 1 To 500
    If Sheets("Carte").Range("Q" & I) = 0 Then
    'code à executer
    End If
  Next I

Je viens de modifier mon programme mais sa ne fonctionne toujours pas . est-ce que le faite que se soit dans un module fait que sa peut déconner?

Non, mais "sa ne fonctionne toujours pas" ce n'est pas un terme qui va me permettre de vous aider ! Mettez vous à notre place et essayez de comprendre d'où peut venir le probleme avec juste " sa ne fonctionne toujours pas" .Au passage, rectifiez la valeur de i

For i = 0 to 500

en

For i = 1 to 500

car il n'existe pas de coordonné = 0 dans excel...

Oui effectivement je n'avais pas vue que vous aviez modifier le I=1 ! tout roule ! Merci !

Ce n'est pas de votre faute car c'est au dernier moment que j'ai vu l'erreur donc j'ai modifié le code mais nos réponses se sont entrecroisées. Ceci dit cela ne change pas le fait que le terme "ca ne marche pas" il faut l'éviter car il es très vague et apporter une réponse précise sur un terme vague... :/

Rechercher des sujets similaires à "range incrementer"