Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

copier une ligne vers un onglet suivant le contenu d'une cellule

2 réponses
Avatar
gael.beauverger1
Bonjour =E0 tous,
Je cherche la solution au probl=E8me suivant.
Soit un fichier de 35000 lignes, sur la feuille1, ayant en A1 les
en-t=EAtes suivants:
agence matricule agents formations
Je souhaite renvoyer les lignes de r=E9sultats de chaque agence, vers un
onglet ayant le nom de cette agence. J'ai d=E9j=E0 cr=E9e les onglets des
33 agences mais je s=E8che pour y rapatrier les donn=E9es. Pourriez vous
m'indiquer ou trouver l'info ou un bouit de code?
Cordialement,
GB54

2 réponses

Avatar
MichDenis
Essaie ceci :

Le nom de la feuille du classeur contenant toutes tes données
j'ai supposé qu'elle portait le nom de "Base de données"
Tu devras adapter...

Et j'ai aussi supposé que les 33 autres feuilles existaient
et portaient le nom contenu dans la colonne A de ta base de données.

'---------------------------------
Sub test()

Dim F As Worksheet, Mode As String
Dim Sh As Worksheet, Rg As Range
Set Sh = Worksheets("Base de données")

Application.ScreenUpdating = False
Application.EnableEvents = False
Mode = Application.Calculation
Application.Calculation = xlCalculationManual
With Sh
Set Rg = .Range("A1:D" & .Range("A65536").End(xlUp).Row)
End With
For Each F In Worksheets
If F.Name <> Sh.Name Then
Rg.AutoFilter Field:=1, Criteria1:=F.Name
Rg.SpecialCells(xlCellTypeVisible).Copy F.Range("A1")
End If
Next
Rg.AutoFilter
Application.Calculation = Mode
Application.EnableEvents = True
Set F = Nothing: Set Sh = Nothing: Set Rg = Nothing

End Sub
'---



a écrit dans le message de news:

Bonjour à tous,
Je cherche la solution au problème suivant.
Soit un fichier de 35000 lignes, sur la feuille1, ayant en A1 les
en-têtes suivants:
agence matricule agents formations
Je souhaite renvoyer les lignes de résultats de chaque agence, vers un
onglet ayant le nom de cette agence. J'ai déjà crée les onglets des
33 agences mais je sèche pour y rapatrier les données. Pourriez vous
m'indiquer ou trouver l'info ou un bouit de code?
Cordialement,
GB54
Avatar
gael.beauverger1
Bonjour MichDenis
Comme d'habitude, réponse précise et excellente!
Cordialement
GB54

Essaie ceci :

Le nom de la feuille du classeur contenant toutes tes données
j'ai supposé qu'elle portait le nom de "Base de données"
Tu devras adapter...

Et j'ai aussi supposé que les 33 autres feuilles existaient
et portaient le nom contenu dans la colonne A de ta base de données.

'---------------------------------
Sub test()

Dim F As Worksheet, Mode As String
Dim Sh As Worksheet, Rg As Range
Set Sh = Worksheets("Base de données")

Application.ScreenUpdating = False
Application.EnableEvents = False
Mode = Application.Calculation
Application.Calculation = xlCalculationManual
With Sh
Set Rg = .Range("A1:D" & .Range("A65536").End(xlUp).Row)
End With
For Each F In Worksheets
If F.Name <> Sh.Name Then
Rg.AutoFilter Field:=1, Criteria1:=F.Name
Rg.SpecialCells(xlCellTypeVisible).Copy F.Range("A1")
End If
Next
Rg.AutoFilter
Application.Calculation = Mode
Application.EnableEvents = True
Set F = Nothing: Set Sh = Nothing: Set Rg = Nothing

End Sub
'---



a écrit dans le message de news:

Bonjour à tous,
Je cherche la solution au problème suivant.
Soit un fichier de 35000 lignes, sur la feuille1, ayant en A1 les
en-têtes suivants:
agence matricule agents formations
Je souhaite renvoyer les lignes de résultats de chaque agence, vers un
onglet ayant le nom de cette agence. J'ai déjà crée les onglets des
33 agences mais je sèche pour y rapatrier les données. Pourriez vous
m'indiquer ou trouver l'info ou un bouit de code?
Cordialement,
GB54