Excel renommer avec des macros
Fermé
manoelinho
-
18 mai 2009 à 14:02
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 19 mai 2009 à 15:32
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 19 mai 2009 à 15:32
A voir également:
- Excel renommer avec des macros
- Liste déroulante excel - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
8 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
18 mai 2009 à 14:21
18 mai 2009 à 14:21
Bonjour,
Il serait intéressant de voir la macro et d'avoir un petit résumé de ce qu'elle fait.
;o)
Il serait intéressant de voir la macro et d'avoir un petit résumé de ce qu'elle fait.
;o)
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
18 mai 2009 à 15:45
18 mai 2009 à 15:45
re,
La macro est-elle utilisée lorsque le fichier avec le nom du client est utilisé ?
Si oui, en modifiant comme suit je pense que ça doit règler le problème.
En début de macro, mettre ça:
Remplacer ensuite dans toute la macro "Windows("reservation pluriel.xls")" par "wk" et "Windows("basededonnéecclient.xls")" par "wkdb".
Mettre juste avant End Sub de la macro:
;o)
La macro est-elle utilisée lorsque le fichier avec le nom du client est utilisé ?
Si oui, en modifiant comme suit je pense que ça doit règler le problème.
En début de macro, mettre ça:
Dim wk As Workbook dim wkdb as Workbook Set wk = ThisWorkbook set wkdb = Workbooks.Open Filename:= _ "C:\Users\manoelinho\Desktop\dossier gestion boussinière\basededonnéecclient.xls"
Remplacer ensuite dans toute la macro "Windows("reservation pluriel.xls")" par "wk" et "Windows("basededonnéecclient.xls")" par "wkdb".
Mettre juste avant End Sub de la macro:
Set wk = Nothing Set wkdb = Nothing
;o)
manoelinho
Messages postés
43
Date d'inscription
jeudi 7 mai 2009
Statut
Membre
Dernière intervention
5 mars 2012
18 mai 2009 à 17:01
18 mai 2009 à 17:01
je ne parviens pas à utiliser ton aide
quand je remplace dans ma macro excel, on me signal une erreur de synthaxe ou attente d'instruction pour la partie suivante
set wkdb = Workbooks.Open Filename:= _
"C:\Users\manoelinho\Desktop\dossier gestion boussinière\basededonnéecclient.xls"
quand je remplace dans ma macro excel, on me signal une erreur de synthaxe ou attente d'instruction pour la partie suivante
set wkdb = Workbooks.Open Filename:= _
"C:\Users\manoelinho\Desktop\dossier gestion boussinière\basededonnéecclient.xls"
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
18 mai 2009 à 18:16
18 mai 2009 à 18:16
re
Fait comme ça :
Set wk = Workbooks.Open("C:\le_chemin_complet_du_fichier_Excel_a_ouvrir")
Exemple :
Set wk = Workbooks.Open("C:\Documents and Settings\Polux\Mes documents\classeur1.xls")
Je suis sous Excel 2003 et ça fonctionne très bien. Normalement ça fonctionne avec toutes les versions d'Excel.
;o)
Fait comme ça :
Set wk = Workbooks.Open("C:\le_chemin_complet_du_fichier_Excel_a_ouvrir")
Exemple :
Set wk = Workbooks.Open("C:\Documents and Settings\Polux\Mes documents\classeur1.xls")
Je suis sous Excel 2003 et ça fonctionne très bien. Normalement ça fonctionne avec toutes les versions d'Excel.
;o)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
manoelinho
Messages postés
43
Date d'inscription
jeudi 7 mai 2009
Statut
Membre
Dernière intervention
5 mars 2012
19 mai 2009 à 13:18
19 mai 2009 à 13:18
je dois pas avoir compris ou j'ai oublié de faire une étape,
est-ce que tu peux me montrer dans la macro suivante, Workbooks.Open Filename:= _
"C:\Users\manoelinho\Desktop\dossier gestion boussinière\basededonnéecclient.xls"
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 1
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Range("A8").Select
Windows("reservation pluriel.xls").Activate
Range("E7").Select
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("B8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E8").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("C8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E9").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("D8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E10").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("E8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E11").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("F8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E12").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("A8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E13").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("G8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Sheets("Feuil2").Select
ActiveWindow.SmallScroll Down:=-33
Sheets("Feuil3").Select
ActiveWindow.SmallScroll Down:=-48
Sheets("Feuil1").Select
ActiveWindow.SmallScroll Down:=-12
Range("C2:J3").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("H8").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Location plurielle"
Range("G10").Select
ActiveWindow.Close
Sheets("Feuil1").Select
ActiveWindow.SmallScroll Down:=105
Range("E124").Select
End Sub
je change le début aussi ou pas?
est-ce que tu peux me montrer dans la macro suivante, Workbooks.Open Filename:= _
"C:\Users\manoelinho\Desktop\dossier gestion boussinière\basededonnéecclient.xls"
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 1
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Range("A8").Select
Windows("reservation pluriel.xls").Activate
Range("E7").Select
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("B8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E8").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("C8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E9").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("D8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E10").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("E8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E11").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("F8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E12").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("A8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E13").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("G8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Sheets("Feuil2").Select
ActiveWindow.SmallScroll Down:=-33
Sheets("Feuil3").Select
ActiveWindow.SmallScroll Down:=-48
Sheets("Feuil1").Select
ActiveWindow.SmallScroll Down:=-12
Range("C2:J3").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("H8").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Location plurielle"
Range("G10").Select
ActiveWindow.Close
Sheets("Feuil1").Select
ActiveWindow.SmallScroll Down:=105
Range("E124").Select
End Sub
je change le début aussi ou pas?
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
19 mai 2009 à 14:40
19 mai 2009 à 14:40
Bonjour,
En gros, il faut déclarer un objet par classeur ouvert et indiquer au programme quel objet on manipule.
Ceci sert à ça :
Set wk = ThisWorkbook
Set wkdb = Workbooks.Open ("Monfichier.xls")
Je déclare 2 objets représentant chacun un classeur. "wk" est le classeur courant (celui qui contient la macro) et "wkdb" est mon classeur base de données que j'ouvre.
Dans le code, il suffit de déclarer l'objet dans lequel on est :
Faire wk.Activate, revient à faire Windows("reservation pluriel.xls").Activate ou Workbooks.("reservation pluriel.xls").Activate. Ensuite si je veux activer la cellule A2 de l'onglet "Feuil1" du classeur "reservation pluriel", je fais ceci :
wk.Worksheets("Feuil1").Range("A2").Activate
Ainsi le programme sait quel objet (classeur ici) doit être manipulé.
De même, si je dois manipuler plusieurs onglets d'un même classeur, je peux faire ceci :
ws1 est l'objet représentant l'onglet 1 du classeur "réservation pluriel" et ws2 l'objet représentant l'onglet 2 du classeur "réservation pluriel".
Il faudrait que tu reprennes ton code et que tu déclares chaque objet, ensuite pour chaque ligne, mettre le préfixe (wk. ou wkdb.) à la commande qui va bien ...
;o)
En gros, il faut déclarer un objet par classeur ouvert et indiquer au programme quel objet on manipule.
Ceci sert à ça :
Set wk = ThisWorkbook
Set wkdb = Workbooks.Open ("Monfichier.xls")
Je déclare 2 objets représentant chacun un classeur. "wk" est le classeur courant (celui qui contient la macro) et "wkdb" est mon classeur base de données que j'ouvre.
Dans le code, il suffit de déclarer l'objet dans lequel on est :
Faire wk.Activate, revient à faire Windows("reservation pluriel.xls").Activate ou Workbooks.("reservation pluriel.xls").Activate. Ensuite si je veux activer la cellule A2 de l'onglet "Feuil1" du classeur "reservation pluriel", je fais ceci :
wk.Worksheets("Feuil1").Range("A2").Activate
Ainsi le programme sait quel objet (classeur ici) doit être manipulé.
De même, si je dois manipuler plusieurs onglets d'un même classeur, je peux faire ceci :
Dim ws1 As Worksheet Dim ws1 As Worksheet Set ws1 = wk.Worksheets(1) 'pour l'onglet 1 ou wk.Worksheets("Lenomdelonglet") Set ws2 = wk.Worksheets(2) 'pour l'onglet 2 ou wk.Worksheets("Lenomdelonglet")
ws1 est l'objet représentant l'onglet 1 du classeur "réservation pluriel" et ws2 l'objet représentant l'onglet 2 du classeur "réservation pluriel".
Il faudrait que tu reprennes ton code et que tu déclares chaque objet, ensuite pour chaque ligne, mettre le préfixe (wk. ou wkdb.) à la commande qui va bien ...
;o)
manoelinho
Messages postés
43
Date d'inscription
jeudi 7 mai 2009
Statut
Membre
Dernière intervention
5 mars 2012
19 mai 2009 à 14:58
19 mai 2009 à 14:58
Merci beaucoup, j'ai compris et maintenant ça marche.
Vous ne vous rendez pas compte du coup de pouce que vous venez de me donner,
c'est un travail dans le cadre de mon stage de fin d'étude et sans ça je c pas comment j'aurai fait.
encore merci
Vous ne vous rendez pas compte du coup de pouce que vous venez de me donner,
c'est un travail dans le cadre de mon stage de fin d'étude et sans ça je c pas comment j'aurai fait.
encore merci
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
19 mai 2009 à 15:32
19 mai 2009 à 15:32
Je suis content pour toi. Merci de mettre le sujet "Résolu" si c'est le cas.
Bonne continuation et bon courage.
Polux
;o)
Bonne continuation et bon courage.
Polux
;o)
18 mai 2009 à 14:27
Workbooks.Open Filename:= _
"C:\Users\manoelinho\Desktop\dossier gestion boussinière\basededonnéecclient.xls"
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 1
Rows("8:8").Select
Selection.Insert Shift:=xlDown
Range("A8").Select
Windows("reservation pluriel.xls").Activate
Range("E7").Select
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("B8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E8").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("C8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E9").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("D8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E10").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("E8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E11").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("F8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E12").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("A8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Range("E13").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("G8").Select
ActiveSheet.Paste
Windows("reservation pluriel.xls").Activate
Sheets("Feuil2").Select
ActiveWindow.SmallScroll Down:=-33
Sheets("Feuil3").Select
ActiveWindow.SmallScroll Down:=-48
Sheets("Feuil1").Select
ActiveWindow.SmallScroll Down:=-12
Range("C2:J3").Select
Application.CutCopyMode = False
Selection.Copy
Windows("basededonnéecclient.xls").Activate
Range("H8").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Location plurielle"
Range("G10").Select
ActiveWindow.Close
Sheets("Feuil1").Select
ActiveWindow.SmallScroll Down:=105
Range("E124").Select
End Sub