Probleme VBA de report sur une autre feuille

Bonjour à tous,

Voilà mon problème, j'ai un fichier avec un modèle qui me créer une nouvelle fiche avec incrémentation de numéro que je renvoie avec 2 informations sur mon fichier suivi mais à partir de la feuille n° 10 il me dit que la feuille n'existe pas sur "suivi" et je ne vois pas d'où vient cette erreur ?

Merci d'avance pour votre aide,

Sylvie

Bonjour,

Erreur assez discrète :

Dans cette instruction

Set cell = .Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row).Find(Range("I4").Value)

Remarquez que vous ne mettez pas de "." devant " Range("A" & Rows.Count)", vous référez donc à la feuille active !

Or le résultat de xlUp sur la colonne A de la feuille active… s'arrete à la cellule "Autres informations", ligne numéro 17.

Comme cette instruction ne vous renvoie que le numéro de ligne, ça n'a pas posé de problèmes immédiates, car dans votre tableau "Suivi", les feuilles 1 à 9 sont dans les 17 premières lignes, mais après, il ne trouve plus rien.

Pour corriger, il faut donc simplement rajouter le point devant Range, pour référer à la colonne A de la feuille suivi, et non de la feuille active, soit

Set cell = .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row).Find(Range("I4").Value)

Faites très attention quand vous travaillez avec plusieurs feuilles, de bien bien les référencer. Personnellement, j'écris toujours d'abord mon code avec l'ensemble des instructions, càd

Set cell = Feuil1.Range("A2:A" & Feuil1.Range("A" & Feuil1.Rows.Count).End(xlUp).Row).Find(Range("I4").Value)

Et ensuite je simplifie avec un With si nécessaire

With Feuil1
Set cell =.Range("A2:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Find(Range("I4").Value)
End With

Merci beaucoup Saboh12617, ça fonctionne

Rechercher des sujets similaires à "probleme vba report feuille"