Créer des feuilles excel à partir d'une liste+données
sof_011
Messages postés
3
Statut
Membre
-
sof_011 -
sof_011 -
Bonjour à tous,
J'essaye de créer des feuilles Excel à partir d'une liste en copiant en même tant les données correspondantes à un nom de ma liste.
J'ai utilisé la macro suivante mais elle ne fonctionne pas.
Pourriez-vous comment je peux modifier la ligne en gras pour que cela fonctionne.
Sub Macro3()
'
' Macro3 Macro
' Dim nom, c
For Each c In Range("liste")
nom = c.Value
Sheets("Feuil1").Select
Range("A1:I1,A"c":I"c").Select
Selection.Copy
Sheets.Add After:=Worksheets(Worksheets.Count)
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
ActiveSheet.Name = nom
Next c
End Sub
je voudrais copier en plus de plage A1:I1 la plage correspondant au nom pour lequel je crée la nouvelle feuille.
J'espère que ma demande est suffisamment claire.
Merci d'avance pour votre aide.
J'essaye de créer des feuilles Excel à partir d'une liste en copiant en même tant les données correspondantes à un nom de ma liste.
J'ai utilisé la macro suivante mais elle ne fonctionne pas.
Pourriez-vous comment je peux modifier la ligne en gras pour que cela fonctionne.
Sub Macro3()
'
' Macro3 Macro
' Dim nom, c
For Each c In Range("liste")
nom = c.Value
Sheets("Feuil1").Select
Range("A1:I1,A"c":I"c").Select
Selection.Copy
Sheets.Add After:=Worksheets(Worksheets.Count)
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
ActiveSheet.Name = nom
Next c
End Sub
je voudrais copier en plus de plage A1:I1 la plage correspondant au nom pour lequel je crée la nouvelle feuille.
J'espère que ma demande est suffisamment claire.
Merci d'avance pour votre aide.
4 réponses
-
Bonjour,
Essaie
Range("A1:I1,"A" & c & ":I" & c ).Select
Cdlmnt
-
Bonjour,
je viens de copier votre ligne mais... non ça ne fonctionne pas :-(
Lorsque je veux exécuter la macro, le débogueur se lance et indique erreur de syntaxe.
Merci quand même d'avoir répondu. Et si vous avez une autre idée n'hésitez pas.
bàv -
-
Bonjour,
A Maurice: je suis désolée mais non ça ne fonctionne pas.
A Via55: vous me dites que cela fonctionne chez vous :-(
pourquoi pas chez moi?
Je mets en la copie complète de ma macro, voulez-vous bien vérifier que toutes nos lignes sont identiques, s'il vous plait. Je sais que je suis près du but mais il y a quelque chose qui coince.
Merci pour votre aide à tous les 2
Sub Macro3()
'
' Macro3 Macro
' Dim nom, c
For Each c In Range("liste")
nom = c.Value
Sheets("Feuil1").Select
Range("A1:I1,A" & c & ":I" & c).Select
Selection.Copy
Sheets.Add After:=Worksheets(Worksheets.Count)
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
ActiveSheet.Name = nom
Next c
End Sub-
Bonjour,
Les variables dans Liste étant vraisemblablement du texte ne peuvent être utilisées dans les références du Range
Il faut utiliser une variable n qui relève le N° de la ligne : n = c.Row
D'autre part pour sélectionner la ligne n la syntaxe sera plutôt ;
Range("A" & n & ":I" & n).Select
et pour sélectionner de la ligne 1 à la ligne n
Range("A1 & ":I" & n).Select
Un exemple qui fonctionne
https://www.cjoint.com/?0Kcozkun09S
Cdlmnt -
-