Créer des feuilles excel à partir d'une liste+données

sof_011 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
 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.
A voir également:

4 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonjour,

Essaie

Range("A1:I1,"A" & c & ":I" & c ).Select

Cdlmnt
1
sof_011 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Oui dsl il était resté un guillemet en trop (entre la , et le A)

Bonne ligne :
Range("A1:I1,A" & c & ":I" & c).Select

Cdlmnt
0
sof_011 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Malheureusement ça ne va pas non plus :-(
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
comprends pas

chez moi cela fonctionne
0
foo
 
Bonjour

essais

Range("A1:I" & C).Copy

A+

Maurice
0
sof_011
 
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
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
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
0
sof_011
 
Et bien voilà :-)

Un tout grand merci pour votre aide.
C'est vraiment gentil.

Bon w-e.
0