Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Aide Pour Macro

YesWeExcel

XLDnaute Nouveau
Bonjour, à tous et toutes
J'aimerait avoir de l'aide pour une macro
quelqu'un ma donné ce code mais je sait pas du tout l'utiliser (en plus j'ai plus son contact, j'suis à la ramasse)
Voici le code tristement fameux:
_______________________________

Sub Macro1()
Dim CS As Workbook 'déclare la variable CS (Classeur Sourse)
Dim CA As String 'déclare la variable CA (Chemin d'Accès)
Dim CO As Workbook 'déclare la variable CO (Classeur Ouvert)
Dim OA As Worksheet 'déclare la variable OA (Onglet Actif)
Dim F As String 'déclare la variable F (Fichier)

Set CS = ThisWorkbook 'définit le classeur Source CS
CA = CS.Path & "\" 'définit le chemin d'accès CA
F = Dir(CA & "*.xlsx") 'définit le premier classeur du dossier ayant CA comme chemin d'accès (extension à adapter !)
Do While F <> "" 'boucle tant qu'il existe des fichiers F
If Not F = CS.Name Then 'condition : si le fichier à ouvrir n'est pas ce fichier
Set CO = Application.Workbooks.Open(CA & F) 'définit le classeur ouvert CO (en l'ouvrant)
Set OA = CO.ActiveSheet 'définit l'onglet actif OA
'ici ta macro. Ssi tu fais référence à l'onglet actif utilise OA (OA.Range("A1") par exemple), sinon il faut adapter le

code...
CO.Close True 'ferme le classeur ouvert en enregistrant les changements
End If 'fin de la condition
F = Dir 'classeur suivant du le dossier ayant CA comme chemin d'accès
Loop 'boucle
End Sub
______________________________________________________________________________
J'ai essayé ce code plusieurs fois mais riens n'a faire, je n'arrivais pas à bien imposter le code en question, donc...
J'ai du abandonner car mon cerveau il est passé en mode HC et puis il a claqué la porte.
Donc voilà voilà.

Mes compétences en macro sont les suivants:
- Je sais enregistrer une macro
- Je sais que en enregistrant une macro dans "un classeur personnel" ça va être - visible et utilisable par tout mes

classeurs
- Je sais que en enregistrant une macro en indiquant le classeur ,celle-ci seras visible mais seras utilisable que sur le
classeur sauvé.
- Je sais aussi utiliser les functions (CONCATENER; RECHERCHEV; NB.SI) et d'autres petits choses à la portée de tous.

Je vous ai fais le point sur mes compétences sur Excel et Macro, comme ça vous pourrais m'y répondre événtuellement
en prenant en compte mes limites;

Voilà en détail ce que j'aimerais faire:
_créer une macro que ouvre mes classeurs situé dans mon dossier [DEMO]
_ouvrir le premier classeur [nomé: A] exécuter ma macro [nomé: Macro_Tentativo] enregistrer les modifications
effectué_fermer mon classeur [nomé: A] et passer au suivant classeur de mon dossier [DEMO]

Je vais vous fournir des documents fictifs (en pièce jointe si possible) pour que vous puissiez me l'expliquer de la meilleur

façon possible.
Je ne peux pas vous fournir les vraies fichiers pour de raisons privés.


J'aimerais réussir à faire ce code sur mes vraies fichiers, que son en total 70 ,
si j'y arrive à faire ça je pourrais résoudre ma situation Précaire, en démarrant ma propre activité.

Message adresser à ceux/celles que auront l'amabilité de me répondre et proposer une solution
par rapport à ce problème fait-le, mais fait-le simplement comme si vous voulez apprendre
un enfant à compter de 1 à 10, sérieux si non je ne vais rien comprendre.
J'utilise [excel 2016]

Merci en avance , ma vie est entre vos mains
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
Ce code est fait pour traiter tous les classeurs .xlsx qui sont sur le même dossier que le classeur qui porte la macro. Ça devrait marcher si c'est bien ce que vous voulez. Sinon, c'est quoi [DEMO] ?
 

YesWeExcel

XLDnaute Nouveau
Bonjour, [DEMO] c'est juste le nom de mon dossier que contient mes classeurs fictifs.
Le vraie problème avec ce code est que je n'y comprendre rien dedans , c'est pour ça que je suis venu vers ce forum excel.
Est-ce que il y a moyen de le me montrer avec les données que je vous ai donné ?

Là je suis désespérer le code est bon, je sais pas du tout comme l'utiliser adéquatement.
C'est comme acheter un voiture en ne sachant pas conduire. La voiture va rester dans un coins pour prendre la poussière.

Donc, si vous pouvait m'aider à mieux comprendre ce code , ça serait super.

Merci
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Non, ça ne peut probablement pas être un un nom de dossier parce qu'à ma connaissance un tel nom ne comporte pas de crochets droits. Du reste c'est le chemin jusqu'au dossier dont on aurait besoin, pas juste son nom. Avec les crochets ça pourrait toutefois être une expression VBA évaluant un nom "DEMO" dans le classeur, défini avec le gestionnaire de noms, ayant pour référence une cellule qui, elle, contient le chemin.
Pour se fixer les idées écrivez cette macro dans le classeur de macros, exécutez la, puis ouvrez un de vos classeurs manuellement et réexécutez la sans avoir réactivé le classeur de macros.
VB:
Sub QelChemin()
MsgBox ActiveWorkbook.FullName
End Sub
Dites moi ce qu'elle affiche dans les deux cas.
 
Dernière édition:

Discussions similaires

Réponses
20
Affichages
721
Réponses
12
Affichages
246
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…