[déplacé VB6 -> VBA] Aide: la methode 'range' de l'objet '_Global' a échoué

Signaler
Messages postés
58
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
26 août 2010
-
Messages postés
58
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
26 août 2010
-
Bonjour à tous,

J'ai a nouveau un petit souci que j'ai grave du mal a comprendre. En gros j'ai une boucle for, qui me permet de récup des données dans des cellules. Puis affichage. Rien de plus basique...

Dim i As Double
Dim j As String
Sheets("nom_feuille")
For i = 0 To 3
    j = Range("E" & i).Value
    MsgBox (j)
Next i


Et voila le message d'erreur: la methode 'range' de l'objet '_Global' a échoué.

Le plus enorme c'est que le code suivant fonctionne.
Dim i As Double
Dim j As String
sheets("nom_feuille")
 i=1
 j = Range("E" & i).Value
 MsgBox (j)



J'ai aussi essayé en mettant
j=sheets("nom_feuille").Range("E" & i).Value

Mais on me met "Erreur définie par l'application ou par l'objet".
Pouvez vous m'éclairer dans mon souci qui je pense est vraiment débile ? Cela est bien sur lié à mon avis avec la boucle for... Je suis sur VB 6.3

2 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
Bonjour,
Essaye :

With Sheets("nom_feuille")
  For i = 0 To 3
    j = .Range("E" & i).Value
    MsgBox (j)
  Next i
End With


Il est bien entendu nécessaire que "nom_feuille" soit un nom de feuille existante, heinb ...
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
58
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
26 août 2010

Merci ta solution fonctionne. Pour info j'ai aussi utilisé une boucle while et le code devient plus léger.