Macro comment ça marche ?

  • Initiateur de la discussion Initiateur de la discussion Elania
  • 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 !

Elania

XLDnaute Nouveau
Bonjour, alors voilà j'ai étudié excel à l'école pendant mes études donc j'ai les notions de base et j'ai lu sur ce forums que l'on pouvait rajouter des macros quelqu'un pourrait-il m'expliquer comment faire en détail car je n'y arrive pas et j'en ai besoin pour avancer dans mon travail.

En effet mon chef utilise excel pour ses plannings et il utilise un code de couleur donc il n'y a aucun chiffre juste des noms et des couleurs et il m'a demandé de faire la synthèse des couleurs qui représente les différentes taches afin de pouvoir savoir combien de jours de chaque couleur il y a. (le temps en jours passé pour chaque tache effectuer). c'est pas clair mais j’espère que vous comprendrez.

J'ai chercher et j'avais réussi a trouver grâce au fichier de quelqu'un comment arrivé a calculer sans compter couleur par couleur chaque cellule en téléchargeant directement le fichier sans vouloir pousser mes investigations mais maintenant je ne trouve plus ce fichier donc j'essaie de me pencher sur le sujet macro que je ne connais pas mais alors pas du tout.

Je cherche depuis ce matin sans comprendre quoi que ce soit alors mon dernier espoir est de trouver quelqu'un susceptible de m'expliquer avec beaucoup de détail comment faire les macros et ou trouve t'on l'onglet "macro" si il y en a un.

Merci d'avance pour votre aide.

Cordialement,
Elania
 
Dernière édition:
Re : Macro comment ça marche ?

Bonjour,

tu trouveras les macros dans l'onglet developpeur sur Excel 2010 ou directement en appuyant sur Alt+F11 pour rentrer dans le code VBA..
Sinon envois une version de ta feuille excel pour te proposer quelque chose !

Cordialement,
 
Re : Macro comment ça marche ?

Bonjour Eliana,

Là, je crois que ça va être difficile de t'apprendre tout le VBA. Il y a un nombre incalculable de tutoriels sur le Web qui pourrons t'aider à comprendre le langage Visual Basic. Mais voici juste un petit exemple pour que tu commence à toucher du doigt. Dans un nouveau classeur, tu remplis la colonne "A" de différentes valeurs et tu coloris certaines cellules en rouge. Ensuite tu appuis sur les touches Alt+F11 et tu te retrouve dans le VBE (l'éditeur de code), à ce moment là, tu as deux petites fenêtres sur la gauche, tu fait un click droit dans la fenêtre du haut puis dans le menu > Insertion tu choisi "Module" et là, tu colle le code dans la partie droite de la fenêtre et ensuite tu place le curseur n'importe où dans le code et tu appui sur F5 une boite de message s'affiche te disant le nombre de cellules colorées en rouge :
Code:
Sub Couleur()

    Dim Plage As Range
    Dim Cel As Range
    Dim Couleur As Integer
    Dim NbCouleur As Integer
    
    'défini la plage de recherche
    'ici, sur la feuille nommée "Feuil1" et de A1 à Ax (x étant le numéro de ligne de la dernière cellule non vide)
    With Worksheets("Feuil1")
    
        Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
        
    End With
    
    'la couleur cherchée a l'index de couleur 3 (rouge)
    Couleur = 3
    
    'la plage est parcourue à la recherche de cette couleur
    'et à chaque fois qu'elle est trouvée, la variable "NbCouleur"
    'est incrémentée de 1
    For Each Cel In Plage
    
        If Cel.Interior.ColorIndex = Couleur Then
            NbCouleur = NbCouleur + 1
        End If
    
    Next Cel
    
    'affiche dans une boite de message le nombre de cellules en rouge dans la colonne A
    MsgBox "il y a " & NbCouleur & " cellule(s) colorée(s) en rouge !"
    
End Sub

Hervé.
 
Re : Macro comment ça marche ?

Bonjour Elania et bienvenue, Bonjour Nicole, Theze, bonjour le forum,

Pourquoi ne commences-tu pas avec l'enregistreur de macros. Sous Excel 2003 tu le lances par le menu Outils/Macro/Nouvelle macro... Cela t'ouvre la boîte de dialogue Enregister une macro, en te proposant comme nom par défaut Macro1, comme emplacement par défaut Ce classeur et avec une description par défaut... Modifie ou accepte ces champs. Ajoute éventuellement un raccourci clavier et valide par OK. La boîte de dialogue se ferme et il ne reste affiché que la barre d'outils Arrêter l'enregisterment.
À partir de maintenant, tout ce que tu fait (au clavier ou à la souris) est enregistré. Lorsque tu as fini tes manipulations, clique sur le carré pour arrêter l'enregistreur de macros. Tu peux lire le code en allant dans l'éditeur Visual Basic (VBE) par [Alt]+[F11].
 
Re : Macro comment ça marche ?

Bonjour le Fil,

Par rapport a la remarque de Elania, je suis encore et toujours a la recherche de livres / tutoriels qui ne commencent pas des dizaines de lignes de codes sans JAMAIS expliquer comment on les construit, pourquoi tel mot plutot qu'un autre, quels mots peut on ajouter dans le code et quels mots font VRAIMENT partie du code...
J'ai lu des dizaines de livres VBA et aucun n'explique clairement cela.
j'aimerai vraiment tout comprendre et ecrire a mon tour des tutoriels pour des gens comme moi qui partent de 0 !!
Je n'arrive a trouver ca nullepart. A part demarrer avec des lignes de code barbares il n'y a rien sur le net.
A quand une adresse web utile ?

Exemple concret du code ci dessus :

Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))

Pourquoi il y a une virgule avant cell,
Pourquoi il y a , . qui s enchainent
pourquoi Count, 1 il y a ce 1 et pourquoi pas 3 ou 16 ?
.End(xlUp) veut dire ??
C'est decrit ou tout ca ??

Comment enchainer du code en sachant quoi mettre a quel endroit. Personne ne peut me l'expliquer a ce jour a part repondre : c'est tout un apprentissage ... mais ou se fait cet apprentissage ? je suis preneuse pour vos conseils

Merci
 
Dernière édition:
Re : Macro comment ça marche ?

Bonjour Choupinette,

je ferais une parenthèse pour répondre à ta question sur les tutoriels. Selon moi le site : Ce lien n'existe plus recense les meilleurs tutoriels si tu pars de zéro (sans aucune connaissance).
En particulier pour les macro et le VBA, tu trouveras les bases sur ce tutoriel:

Tutoriel du Site du zéro - Les macros

Une fois arrivée sur la page, tu lis tout, tu réponds au questionnaire pour vérifier si tu as tout compris 🙂 et hop, direction la page suivante pour la suite !

Bonne chance
 
Re : Macro comment ça marche ?

Bonjour, NicolasBB, Theze, Robert, JNP? choupi_nette,

Merci de vos conseil je vais me pencher sur le sujet histoire de pouvoir moi aussi arrivé a me servir de VBA.
Avec vos conseil je devrais pouvoir réussir à avancer un peu.
choupi_nette je suis tout à fait d'accord avec toi des codes et des codes rien de plus rien de moin rien de concret et compréhensible je galère depuis 2 jours sans pouvoir avancer j'ai chercher des livres ou logiciel qui pourrait m'apprendre mais vue le prix ça m'a un peu refroidie car comment savoir si je logiciel vaut vraiment le coût d'être acheter à ce prix là j'ai pas envie de me louper.
Je vais me lancer dans la dure quette d'apprentissage de VBA et moi qui me trouvait plutôt pas mauvaise sur EXCEL bah là je me sens carrément nul quand je vois toute les fonctions qui existe et la difficulté d’apprentissage.
Le codage limite cryptage, je vais essayé d'apprendre en tout cas merci pour vos réponses j'espère avancer grâce a vous.

Bisous

Elania
 
Re : Macro comment ça marche ?

Bonjour à tous,

pour répondre à choupi-nette
Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))

Pourquoi il y a une virgule avant cell,
Pourquoi il y a , . qui s enchainent
pourquoi Count, 1 il y a ce 1 et pourquoi pas 3 ou 16 ?
.End(xlUp) veut dire ??
C'est decrit ou tout ca ??
le point avant Cells parce qu'il doit y avoir (plus haut dans le code ---> With Sheets(".............")
c'est pour éviter de multiples répétitions du nom de la feuille

Count, 1 ----> .Rows.Count vont ensemble et 1 indique qu'on recherche la dernière ligne de la colonne A (B=2) (C=3) ...............

l'instruction complète
Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
nous indique que la plage va de A1 jusqu'à la dernière cellule non-vide de la colonne A
dans le feuille concernée par l'instruction With .............. (qui doit se trouver avant)

pas évident lorsqu'on débute mais on s'y habitue très vite


à+
Philippe
 
Re : Macro comment ça marche ?

Bonjour à tous,

Je me permet de compléter les propos de Philippe pour choupi_nette :
Un objet Range représente une plage de cellules
Il y a plusieurs façons de faire appel à un objet Range

Par exemple, une façon assez simple est de donner l'adresse de la plage de cellules comme on le ferait dans une formule (entre guillements)
Code:
Range("A1:A25")
une autre est de préciser la cellule de début et la cellule de fin séparés par une virgule :
Code:
Range(Range("A1"), Range("A25"))
Ce qui est parfaitement équivalent à l'écriture d'avant

Si on ne fait appel qu'à une cellule, on peut également utiliser Cells qui permet de pointer sur une cellule en fonction de son numéro de ligne et de colonne
Code:
Cells(25, 1)
Est la cellule ligne 25, colonne 1 donc A25

donc
Code:
Range(Cells(1,1),Cells(25,1))
représente toujours de A1 à A25

En espérant que ça clarifie quelques écritures barbares 😉
 
Dernière édition:
Re : Macro comment ça marche ?

Merci a tous (tototiti2008 phlaurent55 et les autres...) pour vos explications et messages..
Dommage que tout cela n'est detaillé nullepart car a mon sens c'est en comprenant chaque partie du code que je pourrai un jour coder...
Tous les bouquins balancent du code sans expliquer ni pourquoi ni comment ni la structure.
Merci a NicolasBB pour les tutoriels du site du zero que je n'avais pas trouvés.

Excellente journée et si vous avez d'autres sites ou bouquins n'hesitez pas. Je suis prete a m'investir.. pour arreter de vous embeter par la suite...
 
Re : Macro comment ça marche ?

Re,

@ Choupi-nette,
Tous les bouquins balancent du code sans expliquer ni pourquoi ni comment ni la structure.
Un bouquin est un objet figé qui n'évoluera plus et si je ne saurais t'en conseiller c'est parce que je n'en ai aucun.
Mon apprentissage je le dois uniquement à Excel-Downloads
à partir du moment où tu considèreras ce site comme une encyclopédie vivante, avec un peu d'habitude et de repères tu y trouveras tout ce que tu cherche et même plus
Je suis prete a m'investir.. pour arreter de vous embeter par la suite...
personne ici ne se plaint et ne se sent embêté, et rares sont les questions posées qui restent sans réponses
on a tous un jour été débutants et parfois avons bloqué sur des questions simples

utilise d'abord l'enregistreur de macro , essaie de comprendre le code qui est généré et reviens ici poser ta question , il y aura toujours quelqu'un pour te venir en aide

à+
Philippe
 
Re : Macro comment ça marche ?

Bonjour à tous,

VBA a quand même un avantage non négligeable : une aide VBA tout à fait correcte
Penses à appuyer sur la touche F1 dans Visual Basic Editor, parfois les sections sont un peu difficiles d'accès mais si tu fouilles bien tu verras qu'il y a beaucoup d'explications disponibles, et expliquées plutôt clairement.
Le départ est de bien comprendre ce qu'est une procédure, les variables, les instructions de test (IF...THEN, SELECT CASE), les boucles (For...Next, Do...Loop), c'est indispensable.
Ensuite la compréhension de ce qu'est un objet, ses Propriétés, ses Méthodes, ses Evènements, puis les instructions spécifiques aux objets (Set, With, For Each...Next).
Après il y aura surement d'autres choses, mais c'est déjà une très bonne base.
C'est juste pour donner une "carte" des principales notions...
 
Re : Macro comment ça marche ?

Bonjour à tous,


Je te suggère ces quelques sites : https://www.excel-downloads.com/threads/vba-apprendre.169433/

Je suis prete a m'investir.. pour arreter de vous embeter par la suite...

Je dirait même plus, quel intérêt pour chacun de venir aider ? Je pense qu'il doivent aimer ça, de plus ça entretient les connaissances et maintient donc le niveau en voyant d'autre méthode également.
 
Dernière édition:
Re : Macro comment ça marche ?

choupi_nette je suis tout à fait d'accord avec toi des codes et des codes rien de plus rien de moin rien de concret et compréhensible je galère depuis 2 jours sans pouvoir avancer j'ai chercher des livres ou logiciel qui pourrait m'apprendre mais vue le prix ça m'a un peu refroidie car comment savoir si je logiciel vaut vraiment le coût d'être acheter à ce prix là j'ai pas envie de me louper.

Bonjour Elania et choupinette,
Le problème c'est que chacun a une vision différente de ce qui devrait figurer en premier dans un tutoriel.
J'en ai écrit plusieurs sur le sujet, testés auprès de VRAIS débutants, n'ayant aucune base de programmation
Les macros Excel | www.excelabo.net
j'ai repris tout à la base, en commençant par le vocabulaire abscons qu'on utilise.
Mais si ce tuto convient bien à des débutants de zéro, d'autres qui ont des notions plus avancées risquent de ne pas y trouver leur compte. Certains attendent qu'on leur explique la signification de chaque point, chaque mot, chaque virgule.
D'autres veulent des exemples tout de suite et n'ont ni l'envie ni la patience de se plonger dans des explications de 12 pages avant d'avoir une première boite de message disant "coucou".
Alors mon conseil :
va voir sur cette page :
Ce lien n'existe plus
tu y trouveras les liens vers de très nombreux sites excel qui ont des pages de tutoriels très bien faites.
C'est gratuit, tu trouves de tout, c'est à dire des tutos pour débutants à des tutos très élaborés mais en fait c'est toi qui sait ce que tu cherches.
Un bouquin de référence sur VBA est pratique car tu l'as sous la main quand tu démarres. Certains ont besoin de bibles très complètes (les incontournables de John Walkenbach) ou au contraire de VBA pour les super nuls en 10 pages. Là encore, le mieux c'est d'aller dans une librairie et de feuilleter.
Mais de toutes façons, tu ne couperas pas au fait qu'il faut investir un peu de temps pour comprendre les bases.
Après je dirai que le mieux et de très loin c'est de se définir un PETIT projet très simple (genre prendre toutes les valeurs non vides de la colonne A les multiplier par 2 et les coller dans la feuille 2 à partir de B18...) et d'essayer de le réaliser. Venir sur le forum poser des questions TRES précises. Genre je ne comprends comment déclarer et utiliser un objet range (plage de données).
Petit à petit tu commenceras à progresser. LA lecture des questions posées par les autres te permettra aussi de te rendre compte de la diversité des utilisations qu'on peut faire des macros. Ca te permettra aussi de comprendre pourquoi en aucun cas un seul tutoriel ou un seul site web peut prétendre répondre à la demande de tous ceux qui veulent apprendre excel et VBA. De la diversité nait la richesse. Celui qui partage s'enrichit.

Quand tu auras commencé à progressé, essaie de répondre aux questions posées par les autres. Au début tu n'auras pas le temps de "dégainer" (ça va vite ici !!) mais peu importe, essaie de trouver la solution de ton côté. Répondre aux questions sur les forums c'est et de très très loin la meilleure façon d'apprendre (pas poser les questions, répondre...). Les autres se posent des questions dont tu n'aurais même pas idée !

En tous cas si les premiers pas paraissent ardus, les bénéfices apparaissent vite et le plaisir avec.
Bon courage !
 
- 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

T
  • Résolu(e)
Microsoft 365 pb effacement macro
Réponses
8
Affichages
573
Themax
T
Retour