Bonjour à tous,
Je suis complètement débutant en VBA et j'ai besoin de votre aide.
J'ai un tableau de dotation de vêtement. Je souhaite faire une macro établissant les fiches de préparation pour chaque employé.
Déclencher le filtre auto "non vide" pour le 1er employé copier le résultat (là j'ai 2 plages non contigues) coller dans l'onglet "préparation"
Et recommencer pour chacun des employés jusqu'à la dernière colonne non vide.
Voilà ou j'en suis:Ca fonctionne mais pour le premier employé seulement
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 12/01/2008
Range("E10:G10").Select
Selection.AutoFilter Field:=1, Criteria1:="<>"
'Déclenche le filtre automatique "non vide"
Range("A7:C" & Range("A65536").End(xlUp).Row).Select
'Sélectionne la 1ère plage
Selection.Copy
Sheets("préparation").Select
'Se place sur la 1ère cellule vide de la colonne A
[A65536].Select
Selection.End(xlUp)(2).Select
'Copie la premère plage
ActiveSheet.Paste
Sheets("Saisonniers").Select
Range("E7:E" & Range("A65536").End(xlUp).Row).Select
'Sélectionne la 2ème plage
Selection.Copy
Sheets("préparation").Select
'Se place sur la 1ère cellule vide de la colonne D
[D65536].Select
Selection.End(xlUp)(2).Select
ActiveSheet.Paste
'Copie la 2ème plage
Sheets("Saisonniers").Select
Selection.AutoFilter Field:=1
Application.CutCopyMode = False
'Déclenche le filtre automatique "tous"
ActiveWindow.SmallScroll ToRight:=3
'Décale de 3 colonnes vers la droite
End Sub
Il ya probablement une façon de faire plus simple mais je suis vraiment débutant.
D'avance je vous remercie de votre aide
Je joins mon fichier ce sera plus parlant
Je suis complètement débutant en VBA et j'ai besoin de votre aide.
J'ai un tableau de dotation de vêtement. Je souhaite faire une macro établissant les fiches de préparation pour chaque employé.
Déclencher le filtre auto "non vide" pour le 1er employé copier le résultat (là j'ai 2 plages non contigues) coller dans l'onglet "préparation"
Et recommencer pour chacun des employés jusqu'à la dernière colonne non vide.
Voilà ou j'en suis:Ca fonctionne mais pour le premier employé seulement
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 12/01/2008
Range("E10:G10").Select
Selection.AutoFilter Field:=1, Criteria1:="<>"
'Déclenche le filtre automatique "non vide"
Range("A7:C" & Range("A65536").End(xlUp).Row).Select
'Sélectionne la 1ère plage
Selection.Copy
Sheets("préparation").Select
'Se place sur la 1ère cellule vide de la colonne A
[A65536].Select
Selection.End(xlUp)(2).Select
'Copie la premère plage
ActiveSheet.Paste
Sheets("Saisonniers").Select
Range("E7:E" & Range("A65536").End(xlUp).Row).Select
'Sélectionne la 2ème plage
Selection.Copy
Sheets("préparation").Select
'Se place sur la 1ère cellule vide de la colonne D
[D65536].Select
Selection.End(xlUp)(2).Select
ActiveSheet.Paste
'Copie la 2ème plage
Sheets("Saisonniers").Select
Selection.AutoFilter Field:=1
Application.CutCopyMode = False
'Déclenche le filtre automatique "tous"
ActiveWindow.SmallScroll ToRight:=3
'Décale de 3 colonnes vers la droite
End Sub
Il ya probablement une façon de faire plus simple mais je suis vraiment débutant.
D'avance je vous remercie de votre aide
Je joins mon fichier ce sera plus parlant
Pièces jointes
Dernière édition: