Loope pour macro complexe

  • Initiateur de la discussion Initiateur de la discussion Temjeh
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Temjeh

XLDnaute Accro
Bonjour à tous
Encore une fois je solicite votre aide pour une loope dans macro(assez simple même si elle a l'air complexe)

La macro autrement dit remplace tout des 100 classeurs et plus (macro fond mise en page) par Model sauf la base(texte dans cell).

Le prob est comment faire une loope pour qu'elle ouvre tout les classeurs du dossier et remplace tout par model sauf la base?

Sub Remplace()
'Ouvre tout les fichiers du dossier...Mes documents
Workbooks.Open Filename:= _
'C:\\Documents and Settings\\Claude\\Mes documents\\1.xls'
Workbooks.Open Filename:= _
'C:\\Documents and Settings\\Claude\\Mes documents\\2.xls'
Workbooks.Open Filename:= _
'C:\\Documents and Settings\\Claude\\Mes documents\\Model.xls'
'-------------------------------------------------------------------
'Copie les valeurs de classeur 1.xls vers Model.xls
Windows('1.xls').Activate
Range('A1:A10').Select
Selection.Copy
Windows('Model.xls').Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Referme 1.xls
Windows('1.xls').Activate
ActiveWindow.Close
'Save as et remplace le 1.xls par Model.xls
ActiveWorkbook.SaveAs Filename:= _
'C:\\Documents and Settings\\Claude\\Mes documents\\1.xls', FileFormat:=xlNormal _
, Password:='', WriteResPassword:='', ReadOnlyRecommended:=False, _
CreateBackup:=False
'Fait la même chose pour le 2.xls
'Copie les valeurs de classeur 2.xls vers 1.xls ...(Ancien Model.xls)
Windows('2.xls').Activate
Range('A1:A10').Select
Selection.Copy
Windows('1.xls').Activate
Range('A1').Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Referme 2.xls
Windows('2.xls').Activate
ActiveWindow.Close
'Save as et remplace le 2.xls par 1.xls ...(Ancien Model.xls)
ActiveWorkbook.SaveAs Filename:= _
'C:\\Documents and Settings\\Claude\\Mes documents\\2.xls', FileFormat:=xlNormal _
, Password:='', WriteResPassword:='', ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveWindow.Close
End Sub


Merci beaucoup

A++

Temjeh
 
Bonjour Temjeh, le Forum

Pas très catholique (ou orthodoxe !) ton code 😉

Ma question va être simple... Tes classeurs se nomment-il tous réellement :

1.xls
2.xls
3.xls
etc...xls
jusqu'à 100.xls ... (?)

Si oui tu fais une simple boucle For i = 1 to 100... (éventuellement à l'envers, car je suis pas sûr de ce que tu cherches à faire, soit For i = 100 to 1 Step -1)

Par contre je n'ai rien compris pour le reste (lol)

Bon Courage
@+Thierry
 
Merci Thierry

Oui pour plus simple je peut les renommés 1 à 100

Pour expliqué un peut ...j'ai des classeurs (100+)avec exemple des fond rouge et une certainne mise en page avec tous les même macro(près de 10) tous fait à partir du même classeur (Model).

Mais au fils des mois j'ai modifié le classeur Model (ex: fond bleu avec ajout de macro)model que je me suis inspiré pour faire les 100 classeurs.

Le prob est que je veut convertir tous les 100 avec le fond et la nouvelle mise en page et 2 ou trois macro que j'ai ajouté
à Model mais en gardans seulement les données propre à chacun des 100...

Voilà pour ce que je veut faire

Merci

Temjeh
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
813
Réponses
4
Affichages
1 K
Retour