L'indice n'appartient pas à la selection ( boucle while ) [Résolu/Fermé]

Signaler
Messages postés
50
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
27 avril 2016
-
Messages postés
50
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
27 avril 2016
-
Bonjour,

voila je souhaiterais faire un parcours de ligne pour une colonne précise, et pour les valeurs de cette colonne, vérifier que la soustraction de la valeur à ma date soit bien inférieur à 6, cependant lors de l’exécution, problème, " l'indice n'appartient pas à la sélection ", or ici je ne copie pas de fichier (comme sur la plupart des topics avec cette erreur), je fait juste un test étant en train de m’initier à ce langage, pourriez vous m'aider ?

Private Sub BoutonLien_Click()

Dim anneedate As Integer

anneedate = Year(Now())

Dim i As Integer
i = 4

While Workbooks("peri.xlsx").Sheet("Statistique_CAF_1").Range("B" & i) <> ""
If (anneedate - Range("B" & i).Value) <= 6 Then
ThisWorkbooks.Sheets("Arrivee").Range("A" & i).Value = anneedate - Range("B" & i).Value
End If
i = i+1
Wend
End Sub


Merci d'avance

4 réponses

Messages postés
1403
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
3 octobre 2020
143
Bonjour develySide, bonjour le forum,

Tu ne redéfinis pas la variable i qui reste initialisée à 4! Donc tu boucles à l'infini (ou pas du tout d'ailleurs)...
Mais le message que tu as, semblerait indiquer une erreur dans un des noms des fichiers ou des onglets. Vérifie (espace avant ou après, accent, etc)...
Messages postés
50
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
27 avril 2016

en réalité si, je continu de définir i, seulement lors du copier coller en effaçant les commentaires la ligne à été supprimé avec, navré
Messages postés
50
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
27 avril 2016

hélas ca ne marche toujours pas
Bonjour

Essayes avec ça
Private Sub BoutonLien_Click()

Dim anneedate As Integer

anneedate = Year(Now())

Dim i As Integer
i = 4
With Workbooks("peri.xlsx").Sheet("Statistique_CAF_1")

While .Range("B" & i) <> ""
If (anneedate - .Range("B" & i).Value) <= 6 Then
ThisWorkbooks.Sheets("Arrivee").Range("A" & i).Value = anneedate - .Range("B" & i).Value
End If
i = i + 1
Wend

End With
End Sub
Messages postés
1403
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
3 octobre 2020
143
Bonjour le fil, bonjour le forum,

Comme je te l'ai dit dans mon premier post, ton message est significatif du nom mal orthographié. Soit du fichier peri.xlsx, soit d'un des deux onglets onglets, Statistique_CAF_1ou Arrivee. Vérifie et plutôt deux fois qu'une...
Messages postés
50
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
27 avril 2016

Problème résolu, j'ai tout réécrit et tester par petite portion, impossible de savoir réellement d'ou cela pouvais venir mais dans tout les cas le problème est réglé, merci encore !