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

balthordu Messages postés 58 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 26 août 2010 - 5 mars 2010 à 10:07
balthordu Messages postés 58 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 26 août 2010 - 10 mars 2010 à 12:14
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

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 234
5 mars 2010 à 11:08
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
0
balthordu Messages postés 58 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 26 août 2010
10 mars 2010 à 12:14
Merci ta solution fonctionne. Pour info j'ai aussi utilisé une boucle while et le code devient plus léger.
0