copier une ligne vers un onglet suivant le contenu d'une cellule
2 réponses
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
'---
<gael.beauverger1@libertysurf.fr> a écrit dans le message de news:
1164118827.286211.214270@m7g2000cwm.googlegroups.com...
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
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
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
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
'---
<gael.beauverger1@libertysurf.fr> a écrit dans le message de news:
1164118827.286211.214270@m7g2000cwm.googlegroups.com...
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
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