Je souhaiterai rajouter la ligne d'entête sur toute les feuilles
Olivier8192
Messages postés
2
Statut
Membre
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaiterai rajouter la ligne d'entête sur toute les feuilles de mon découpage de fichier je vous fais suivre mon VBA du découpage qui fonctionne bien mais ne reprend pas cette ligne.
Par avance merci
Je souhaiterai rajouter la ligne d'entête sur toute les feuilles de mon découpage de fichier je vous fais suivre mon VBA du découpage qui fonctionne bien mais ne reprend pas cette ligne.
Par avance merci
Sub creation_onglets()
Dim Ws As Worksheet
Dim trouve As Boolean
Dim contenu As String
Dim lig, derlig As Integer
With Sheets("TEST") 'à adapter Feuil1 = feuille ou sont vos données
derlig = .Range("A65536").End(xlUp).Row 'à adapter, E = colonne "Dossier groupe"
For lig = 2 To derlig
contenu = .Cells(lig, 1).Value 'à adapter 5 = 5ème col cf E ci dessus
For Each Ws In ThisWorkbook.Worksheets
trouve = False
If StrComp(Ws.Name, contenu, vbTextCompare) = 0 Then
trouve = True
Exit For
End If
Next Ws
If trouve = True Then
.Rows(lig).Copy Sheets(contenu).Range("A65536").End(xlUp).Offset(1, 0)
Else
Sheets.Add
ActiveSheet.Name = contenu
.Rows(lig).Copy Sheets(contenu).Range("A65536").End(xlUp).Offset(1, 0)
End If
Next lig
End With
End Sub
A voir également:
- Je souhaiterai rajouter la ligne d'entête sur toute les feuilles
- Comment faire un livret avec des feuilles a4 - Guide
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Aller à la ligne excel - Guide
- Bruler les feuilles de laurier - Guide
6 réponses
Bonjour,
Avec votre code, les infos de la ligne trouvee sont bien copiees!!
Pige pas ce que vous avez comme anomalie?
Avec votre code, les infos de la ligne trouvee sont bien copiees!!
Pige pas ce que vous avez comme anomalie?
Bonjour,
La première ligne avec le nom des colonnes n’ait pas copié dans les feuilles découpées, la copie commence en 2 émet ligne
Merci pour votre retour
La première ligne avec le nom des colonnes n’ait pas copié dans les feuilles découpées, la copie commence en 2 émet ligne
Merci pour votre retour
Bonjour,
Non elle copie bien toute les lignes qui ont la même référence dans la première colonne en copiant se nom sur l’onglet crée.
Cordialement
Non elle copie bien toute les lignes qui ont la même référence dans la première colonne en copiant se nom sur l’onglet crée.
Cordialement
Re,
Ben, mettez votre fichier a dispo car avec ce que j'ai fait comme test: pas vrai
Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
ou
'mon partage
https://mon-partage.fr/
Ben, mettez votre fichier a dispo car avec ce que j'ai fait comme test: pas vrai
Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com
Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
ou
'mon partage
https://mon-partage.fr/
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour,
la logique du code est probablement viciée, peut-être à cause du
cependant, tu ne décris pas ce que tu veux réaliser.
la logique du code est probablement viciée, peut-être à cause du
Exit For.
cependant, tu ne décris pas ce que tu veux réaliser.
For lig = 2 To derlig
For Each Ws In ThisWorkbook.Worksheets
If StrComp(Ws.Name, contenu, vbTextCompare) = 0 Then
Exit For
End If
Next Ws
If trouve = True Then
Else
End If
Next lig
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour yg_be,
le hic c'est a mon avis ceci:
la copie commence en 2 émet ligne
son code le fait:
mais a quelle ligne cela doit etre?
le hic c'est a mon avis ceci:
la copie commence en 2 émet ligne
son code le fait:
.Rows(lig).Copy Sheets(contenu).Range("A65536").End(xlUp).Offset(1, 0)
mais a quelle ligne cela doit etre?
ceci serait plus clair:
Sub creation_onglets()
Dim Ws As Worksheet, nouv As Worksheet, contenu As String, trouve As Boolean
Dim lig As Long, derlig As Long
With Sheets("TEST") 'à adapter Feuil1 = feuille ou sont vos données
derlig = .Range("A65536").End(xlUp).Row 'à adapter, E = colonne "Dossier groupe"
For lig = 2 To derlig
contenu = .Cells(lig, 1).Value 'à adapter 5 = 5ème col cf E ci dessus
trouve = False
For Each Ws In ThisWorkbook.Worksheets
If StrComp(Ws.Name, contenu, vbTextCompare) = 0 Then
trouve = True
.Rows(lig).Copy Ws.Range("A65536").End(xlUp).Offset(1, 0)
Exit For
End If
Next Ws
If Not trouve Then
Set nouv = Sheets.Add
nouv.Name = contenu
.Rows(1).Copy nouv.Range("A1")
.Rows(lig).Copy nouv.Range("A2")
End If
Next lig
End With
End Sub