déplacement feuille

Le
Michel (pen ar bed)
Bonsoir,

Le bout de code suivant fonctionne parfaitement mais.
si je déplace une feuille de la fin au début du classeur il ne se passe
plus rien ni copie ni erreur.
et je ne pige pas pourquoi, les feuilles ne changent pas de nom ni de
numéro

Une explication ?
Merci



ActiveSheet.Cells.Clear
ligne = 1
For i = 1 To Sheets(1).[D65000].End(xlUp).Row
If Sheets(1).Cells(i, "c") = "PS" Then
Sheets(1).Cells(i, 1).Resize(, 4).Copy Sheets(2).Cells(ligne, 1)
ligne = ligne + 1
End If
Next i
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Papyjac
Le #16748161
Bonjour Michel,

D'abord, il y a une problème de positionnement au départ, si tu es déjà la
feuille alors tu effaces tout et puis il ne trouve plus rien

Ensuite sheets(1) n'est pas la feuille qui contient ta liste alors tu prends
la 1ère qui contient autre chose

Enfin, quand tu dis que les feuilles ne changent pas de noms : c'est exact,
mais par contre elles changent bien d'index


--
Papyjac


"Michel (pen ar bed)" a écrit :

Bonsoir,

Le bout de code suivant fonctionne parfaitement mais....
si je déplace une feuille de la fin au début du classeur il ne se passe
plus rien ni copie ni erreur.
et je ne pige pas pourquoi, les feuilles ne changent pas de nom ni de
numéro

Une explication ?
Merci


------------------------------------------------------------------------
ActiveSheet.Cells.Clear
ligne = 1
For i = 1 To Sheets(1).[D65000].End(xlUp).Row
If Sheets(1).Cells(i, "c") = "PS" Then
Sheets(1).Cells(i, 1).Resize(, 4).Copy Sheets(2).Cells(ligne, 1)
ligne = ligne + 1
End If
Next i
------------------------------------------------------------------------





Michel (pen ar bed)
Le #16748551
Papyjac a présenté l'énoncé suivant :
Bonjour Michel,

D'abord, il y a une problème de positionnement au départ, si tu es déjà la
feuille alors tu effaces tout et puis il ne trouve plus rien



c'est du code qui est appelé avec Worksheet_Activate donc j'efface en
entrant c'est pas bon ?

Ensuite sheets(1) n'est pas la feuille qui contient ta liste alors tu prends
la 1ère qui contient autre chose



Ben si la feuille qui contient la liste ou sont les données à copier
est bien la feuille Sheets(1)

Enfin, quand tu dis que les feuilles ne changent pas de noms : c'est exact,
mais par contre elles changent bien d'index



Comment je fais pour pour remedier à cela ?

Merci
Jacky
Le #16748721
Bonsoir,
Sheets(1) est la position de la feuille,
Si tu déplaces cette feuille, ce sera la suivante qui sera Sheets(1) peu
importe son nom.
Teste le fichier joint , change les feuilles de place, renomme la feuil1 et
tu comprendras.
http://cjoint.com/?jhwdxMEAJF
--
Salutations
JJ


"Michel (pen ar bed)"
Bonsoir,

Le bout de code suivant fonctionne parfaitement mais....
si je déplace une feuille de la fin au début du classeur il ne se passe
plus rien ni copie ni erreur.
et je ne pige pas pourquoi, les feuilles ne changent pas de nom ni de
numéro

Une explication ?
Merci


------------------------------------------------------------------------
ActiveSheet.Cells.Clear
ligne = 1
For i = 1 To Sheets(1).[D65000].End(xlUp).Row
If Sheets(1).Cells(i, "c") = "PS" Then
Sheets(1).Cells(i, 1).Resize(, 4).Copy Sheets(2).Cells(ligne, 1)
ligne = ligne + 1
End If
Next i
------------------------------------------------------------------------




Michel (pen ar bed)
Le #16748831
Jacky a formulé ce dimanche :
Bonsoir,
Sheets(1) est la position de la feuille,
Si tu déplaces cette feuille, ce sera la suivante qui sera Sheets(1) peu
importe son nom.
Teste le fichier joint , change les feuilles de place, renomme la feuil1 et
tu comprendras.
http://cjoint.com/?jhwdxMEAJF
--
Salutations
JJ




OK j'ai pigé merci pour l'exemple

Bonne fin de soirée

M.
Publicité
Poster une réponse
Anonyme