VBA

Vous trouverez des vidéos et fichiers de démonstration concernant le langage VBA. Des exemples, des vidéos et des cas pratiques, étapes par étapes pour apprendre le VBA, suivant les contraintes que j’ai rencontrée dans ma vie professionnelle. Commençons tout de suite…

Excel VBA : 16 astuces pour bien débuter.

Qu’est ce qu’une macro ?

Pour faire simple c’est un ensemble d’instruction pour effectuer une action, vous pouvez additionner, mettre une formule, colorier une cellule, enregistrer un fichier sous un nom spécifique… le champs du possible est vaste, une fois enregistrer dans votre fichier, vous pouvez l’exécuter chaque fois que vous voulez répéter cette macro commande

Pourquoi faire de la macro ?

  1. Automatisation et répétition : Vba est efficace quand il s’agit d’actions répétitives liés aux formats ou de correction.
  2. Interaction entre les applications Office : avez vous besoin de copier vos contacts Outlook dans Excel, avez vous besoin de mettre vos graphiques sur Powerpoint?
  3. Faire les choses d’une autre façon : le VBA est puissant mais suivant les cas et l’usage des solutions dédiés peuvent exister ( utilisation des styles, CTRL+Y pour répéter…

Les 16 petits exemples ici, sont renseignés pour voir permettre de comprendre la logique de fonctionnement de la programmation sous EXCEL VBA , mais surtout sa syntaxe, qui est de loin le plus difficile à appréhender.

Le reste n’est qu’une question de pratique et pour pratiquer il faut commencer, alors autant commencer avec ces 16 exemples simples et utiles à la fois pour se familiariser dans de bonne conditions.

Vous découvrirez comment articuler l’utilisation des instructions, propriétés et méthodes des objets selon que se sont des cellules, une plage, une feuille de calcul donnée ou un classeur, qui la contient.

Exemple 6 : comment copier les données d’une plage de cellules vers une autre.

Exemple 6 : Code source VBA

Cela vous permet d’avoir une première vision macro du sujet

D’autres exemples existent du plus simple ..

Si ces taches peuvent être faite une fois avec le VBA, elles peuvent l’être 10, 100 voir 1000000, une fois développée cela peut être faite autant de fois que souhaité.

L’automatisation des taches répétitives est l’une des utilisations les plus courantes de VBA dans Office et d’un facteur gain de temps énorme.

Voici une petite trousse à outils :

Excel 2016 : Comment faire une carte de Westeros de Games of Thrones dynamique sur Excel VBA en moins de 15 min.

EXCEL_2016_EX_CARTE_GEO_WESTEROS_GAMES_OF_THRONES

Problématique : ou est Westeros?

Solution : carte dynamique sur Excel Import SVG carte et macro de coloriel, Abonnez-vous:

Lien vers ma chaine Youtube

Excel 2016 : Comment faire une carte de Westeros de Games of Thrones dynamique sur Excel VBA en moins de 15 min.
Excel 2016 : Comment faire une carte de Westeros de Games of Thrones dynamique sur Excel VBA en moins de 15 min.
Excel 2016 : Comment faire une carte de Westeros de Games of Thrones dynamique sur Excel VBA en moi
Excel 2016 : Comment faire une carte de Westeros de Games of Thrones dynamique  sur Excel VBA en moins de 15 min.
Excel 2016 : Comment faire une carte de Westeros de Games of Thrones dynamique sur Excel VBA en moins de 15 min.
Excel 2016 : Comment faire une carte de Westeros de Games of Thrones dynamique sur Excel VBA en moins de 15 min.
Excel 2016 : Comment faire une carte de Westeros de Games of Thrones dynamique sur Excel VBA en moins de 15 min.

Lien vers ma newsletter

Excel 2016 : Comment faire une carte de Westeros de Games of Thrones dynamique sur Excel VBA en moins de 15 min.
Excel 2016 : Comment faire une carte de Westeros de Games of Thrones dynamique sur Excel VBA en moins de 15 min.

Excel 2016 : Comment supprimer ligne en doublons sur une plage sur Excel VBA en moins de 5 min.

EXCEL_2016_VBA_EX_SUPPRESSION_DOUBLONS_PLAGE

Problématique : 
Comment supprimer simplement et rapidement tous les doublons dans une liste … Comment supprimer les lignes parfaitement identiques juxtaposée.

Supprimer des doublons dans une même plage

Excel 2016 : Comment supprimer ligne en doublons sur une plage sur Excel VBA en moins de 5 min
Excel 2016 : Comment supprimer ligne en doublons sur une plage sur Excel VBA en moins de 5 min

Exemple solution 1

Solutions 2 :

Une mise en forme conditionnelle pour repérer les lignes en doublons par exemple par rapport a la colonne B, il est possible de faire une colonne avec l’info dites doublons avec par exemple l’utilisation d’une formule genre :

= SI (NB.SI(B$2:B17;B2)>1; »Doublon »; »OK »)

Excel 2016 : Comment supprimer ligne en doublons sur Excel VBA en moins de 3 min.

Excel 2016 : Comment supprimer ligne en doublons sur une plage sur Excel VBA en moins de 5 min

Code source VBA :

Excel 2016 : Comment supprimer ligne en doublons sur une plage sur Excel VBA en moins de 5 min
Excel 2016 : Comment supprimer ligne en doublons sur une plage sur Excel VBA en moins de 5 min

Version Youtube :

Excel 2016 : Comment supprimer ligne en doublons sur une plage sur Excel VBA en moins de 5 min
Excel 2016 : Comment supprimer ligne en doublons sur une plage sur Excel VBA en moins de 5 min
Excel 2016 : Comment supprimer ligne en doublons sur une plage sur Excel VBA en moins de 5 min
Excel 2016 : Comment supprimer ligne en doublons sur une plage sur Excel VBA en moins de 5 min
Excel 2016 : Comment supprimer ligne en doublons sur une plage sur Excel VBA en moins de 5 min.

Tuto :

Excel 2016 : Comment supprimer ligne en doublons sur Excel VBA en moins de 3 min.

EXCEL_2016_VBA_EX_SUPPRESSION_DOUBLONS_PLAGE

Problématique :
Comment supprimer simplement et rapidement tous les doublons dans une liste … Comment supprimer les lignes parfaitement identiques juxtaposée.

Supprimer des doublons dans une même plage

Excel 2016 : Comment supprimer ligne en doublons sur Excel VBA en moins de 3 min.
Excel 2016 : Comment supprimer ligne en doublons sur Excel VBA en moins de 3 min.

Solutions :

Une mise en forme conditionnelle pour repérer les lignes en doublons par exemple par rapport a la colonne B, il est possible de faire une colonne avec l’info dites doublons avec par exemple l’utilisation d’une formule genre :

= SI (NB.SI(B$2:B17;B2)>1; »Doublon »; »OK »)

Excel 2016 : Comment supprimer ligne en doublons sur Excel VBA en moins de 3 min.
Excel 2016 : Comment supprimer ligne en doublons sur Excel VBA en moins de 3 min.

Code source VBA :

Excel 2016 : Comment supprimer ligne en doublons sur Excel VBA en moins de 3 min.

Exemple ajout d’un bouton :

Excel 2016 : Comment supprimer ligne en doublons sur Excel VBA en moins de 3 min.
Excel 2016 : Comment supprimer ligne en doublons sur Excel VBA en moins de 3 min.

Exemple :

Version Youtube :

Excel 2016 : Comment supprimer ligne en doublons sur Excel VBA en moins de 3 min.

Tuto :

Autre méthode ici :

Excel 2016 : Comment créer une case à cocher par deux méthodes sur Excel en moins de 5 min.

EXCEL_2016_VBA_EX_CASE_A_COCHER_DEUX_METHODES

Problématique :
je cherchais à mettre une case à cocher sur excel 2007 merci pour les infos mais j’aimerai savoir s’il est possible de mettre une case …
Bonsoir à tous , j’ai la version 2007 d’excel et je voudrais insérer une cas à cocher dans une feuille de calcul et l’utiliser ensuite dans Vba…

Quelqu’un pourrait-il me dire si on sait insérer des cases à cocher dans des cellules d’une feuille excel?

Excel 2016 : Comment créer une case à cocher par deux méthodes sur Excel en moins de 3 min.
Excel 2016 : Comment créer une case à cocher par deux méthodes sur Excel en moins de 3 min.

Solutions :
Les cases à cocher fonctionnent bien pour les formulaires comportant plusieurs options. Les cases d’option sont plus indiquées quand l’utilisateur n’a qu’une seule option. Les boutons bascule indiquent un état, activé ou désactivé, lorsque l’utilisateur clique dessus.

Solution 1 : Case a cocher via le contrôle de formulaire

Excel 2016 : Comment créer une case à cocher par deux méthodes sur Excel en moins de 3 min.
Excel 2016 : Comment créer une case à cocher par deux méthodes sur Excel en moins de 3 min.

Pour modifier ou supprimer le texte par défaut d’un contrôle, cliquez sur le contrôle, puis mettez à jour le texte si besoin.

Excel 2016 : Comment créer une case à cocher par deux méthodes sur Excel en moins de 3 min.
Excel 2016 : Comment créer une case à cocher par deux méthodes sur Excel en moins de 3 min.

Solution 2 : Case a cocher via Active X

Excel 2016 : Comment créer une case à cocher par deux méthodes sur Excel en moins de 3 min.
Excel 2016 : Comment créer une case à cocher par deux méthodes sur Excel en moins de 3 min.
Excel 2016 : Comment créer une case à cocher par deux méthodes sur Excel en moins de 3 min.
Excel 2016 : Comment créer une case à cocher par deux méthodes sur Excel en moins de 3 min.

Version Youtube :

Excel 2016 : Comment créer une case à cocher par deux méthodes sur Excel en moins de 3 min.

Tuto :

Excel 2016 : Comment créer une case a cocher sur Excel en moins de 2 min.

Problématique :

Je ne connais pas tres bien excel, mais je sais qu’il est possible d’insérer des case à cocher ( Checkbox ) sur une feuille excel. Est-ce qu’il serait possible de savoir comment faire.

Solutions :

Pour insérer une case à cocher dans Excel, si ce n’est pas déjà fait, il faut tout d’abord afficher l’onglet DÉVELOPPEUR.

-Faire apparaître la barre d’outils Formulaire(Affichage/Barre outils/Fomulaire)

-Dessiner une case à cocher

Excel 2016 : Comment créer une case a cocher sur Excel en moins de 2 min.
Excel 2016 : Comment créer une case a cocher sur Excel en moins de 2 min.

Pour modifier ou supprimer le texte par défaut d’un contrôle, cliquez sur le contrôle, puis mettez à jour le texte si besoin.

-Clic-Droit/Propriétés/Format de contrôle

-Choisir une cellule liée (B6 par exemple) pour récupérer le résultat

Dans la partie Valeur, cochez Non activée si vous ne souhaitez pas que la case soit cochée par défaut.

Dans la cellule liée, vous devez indiquer la cellule dans laquelle l’information générée par la case à cocher devra être récupérée.

Excel 2016 : Comment créer une case a cocher sur Excel en moins de 2 min.
Excel 2016 : Comment créer une case a cocher sur Excel en moins de 2 min.

Version Youtube :

Excel 2016 : Comment créer une case a cocher sur Excel en moins de 2 min.

Tuto :

Excel 2016 : Comment créer une liste déroulante sans doublon sur Excel en moins de 5 min.

EXCEL_2016_VBA_EX_ZONE_LISTE_DEROULANTE_SANS_DOUBLONS

Problématique : je souhaite une liste déroulante sans doublon? Comment faire?

Excel 2016 : Comment créer une liste déroulante sans doublon sur Excel en moins de 5 min.
Excel 2016 : Comment créer une liste déroulante sans doublon sur Excel en moins de 5 min.

Solutions :

Pour commencer , une fonctionnalité moins connue, mais d’autant plus utile, de VBA est l’utilisation de la structure « Dictionnaire » pour stocker les données dans la mémoire de l’ordinateur, c’est ce que nous allons utiliser dans cet exemple.

Cette fonctionnalité permet de contenir de grandes quantités de données disponibles immédiatement à l’utilisation et cette utilisation est particulièrement rapide. En gros, vous n’avez pas besoin de stocker vos données dans les Feuilles – ils sont à votre disposition tant que votre macro tourne.

La structure « Dictionnaire » en question attribue une Valeur à une Clé. De cette manière, il est possible d’aller chercher la Valeur (chaîne de texte, nombre, array,…) en utilisant la Clé.

Deux méthodes sont possibles pour pouvoir utiliser cette structure. Le choix dépend de votre possibilité d’utiliser les Références car la méthode la plus simple requiert la présence de la référence « Microsoft Scripting Runtime« . ALT +F11 / outils / référence :

Excel 2016 : Comment créer une liste déroulante sans doublon sur Excel en moins de 5 min.

Il s’agit d’une des références de base fournies dans chaque installation d’Excel mais qui n’est pas activée par défaut.

Pour pouvoir l’utiliser, vous devez avoir la possibilité de l’activer.

Si ce n’est pas possible, vous pouvez utiliser l’objet Collection qui ne requiert aucune référence supplémentaire, nous verrons cela dans un autre tuto.
Sur MAC, Dictionary n’existe pas. Pour obtenir une liste sans doublons, utiliser Collection

Ensuite créer la combobox via mode création et insérer cette combobox dans active X la feuille en cliquant/déposant:

Excel 2016 : Comment créer une liste déroulante sans doublon sur Excel en moins de 5 min.
Excel 2016 : Comment créer une liste déroulante sans doublon sur Excel en moins de 5 min.
Excel 2016 : Comment créer une liste déroulante sans doublon sur Excel en moins de 5 min.

Méthode 1: Utilisation de Scripting.Dictionary

Pour pouvoir utiliser cette méthode, assurez vous que la référence « Microsoft Scripting Runtime » est activée.

L’utilisation de Dictionnaire n’a de sens que quand elle est utilisée en combinaison avec une boucle qui vous permettra de remplir le Dictionnaire à partir des données (fichier texte, contenu d’un fichier Excel ,plage etc.).

Détail important des fonctionnalités MonDico :

  • MonDico.Count – affiche le nombre de paires clé/valeur dans le Dictionnaire
  • MonDico.Exists(Cle) – vérifie si la clé existe dans le Dictionnaire (retourne True ou False)
  • MonDico.Remove(Cle) – supprime la paire clé/valeur spécifié du Dictionnaire

Code source VBA :

Excel 2016 : Comment créer une liste déroulante sans doublon sur Excel en moins de 5 min.
Excel 2016 : Comment créer une liste déroulante sans doublon sur Excel en moins de 5 min.

Version Youtube :

Excel 2016 : Comment créer une liste déroulante sans doublon sur Excel en moins de 5 min.

Tuto :

SUPER CODE :

Pour les cas ou la référence n’est pas activée sur un poste j’ai trouvé ce petit bout de code de Alex qui active la bibliothèque en l’identifiant par son GUID c’est à dire son identifiant normalement unique et commun aux différentes versions d’office. J’ajoute son chargement au démarrage du classeur:

Private Sub Workbook_Open()
Ajoutreference
End Sub
'--------------------------
Public Sub Ajoutreference()
Dim resultat
On Error Resume Next
' Microsoft Scripting Runtime library pour utiliser la fonction dictionnaire "Scripting.dictionary"
resultat = ThisWorkbook.VBProject.References.AddFromGuid("{420B2830-E718-11CF-893D-00A0C9054228}", 1, 0)
On Error GoTo 0
End Sub

Code source VBA :

Excel 2016 : Comment créer une liste déroulante sans doublon sur Excel en moins de 5 min.

Excel 2016 : Comment créer une liste déroulante triée par deux méthodes sur Excel en moins de 5 min.

Problématique :
De très nombreux sites, liens et tutoriels ont déjà traité de cette question de liste déroulante de cellule. Nous allons deux méthodes pour trier votre liste déroulante

Solutions : enregistrement de macro

De très nombreux sites, liens et tutoriels ont déjà traité de cette question de liste déroulante de cellule. Nous allons la présenter ici 3 solutions de la plus simple via outil de validation de donnée à Active X sous developpeur VBA avec des combinaisons possible de liste fixe ou dynamique.
Excel 2016 : Comment créer une liste déroulante triée par deux méthodes sur Excel en moins de 5 min.

Code source VBA :

Excel 2016 : Comment créer une liste déroulante triée par deux méthodes sur Excel en moins de 5 min.
Excel 2016 : Comment créer une liste déroulante triée par deux méthodes sur Excel en moins de 5 min.

Version Youtube :

Excel 2016 : Comment créer une liste déroulante triée par deux méthodes sur Excel en moins de 5 min.

Tuto :

Excel 2016 : Comment créer une liste déroulante sur Excel en moins de 7 min.

Problématique :


De très nombreux sites, liens et tutoriels ont déjà traité de cette question de liste déroulante de cellule. Nous allons la présenter ici 3 solutions de la plus simple via outil de validation de donnée à Active X sous developpeur VBA avec des combinaisons possible de liste fixe ou dynamique.

Une liste déroulante sur Excel s’avère bien utile lorsque l’on entre souvent une même valeur ou quand on souhaite qu’un collaborateur travail plus efficacement dans les feuilles de calcul en ajoutant à certaines cellules des listes déroulantes que vous créez, dans lesquelles ils peuvent choisir un élément.

Solutions : Dans une feuille de calcul, tapez les entrées que doivent figurer dans votre liste déroulante. Idéalement, vos éléments de liste doivent figurer dans un tableau Excel.

Si vous n’avez pas, vous pouvez convertir rapidement votre liste en tableau en sélectionnant une cellule dans la plage, puis en appuyant sur Ctrl+T.

Solution 0: outil de validation de données création d’une liste déroulante

Pour créer le menu déroulant:

  1. Sélectionnez la case où vous souhaitez créer le menu.
  2. Cliquez sur l’outil Validation des données qui se trouve dans le menu Données > Outils > Valider les données.
  3. Dans le menu qui s’ouvre, sélectionnez « Autoriser: Liste ». …
  4. Cliquez sur OK.
Excel 2016 : Comment créer une liste déroulante sur Excel en moins de 7 min.

Points importants : Petit plus pour rendre les listes dynamiques en créant dans Données/gestionnnaire un nom de champ dynamique : =DECALER(tutoriel!$B$25;;;NBVAL(tutoriel!$B:$B)-1) Ainsi au lieu de sélectionner la plage comme ici dans l’onglet MENU, plage de A2 à A7 vous mettez le nom de votre liste mis dans le gestionnaire de nom, ainsi votre liste devient dynamque…

Sinon une simple sélection de plage conviendra si vous ne la souhaitez pas dynamque.

Solution 1: via liste déroulante / combobox type contrôle de formulaire :

-Faire apparaître la barre d’outils Formulaire(Affichage/Barreoutils)

Dessiner une zone de liste déroulante

-Clic-Droit/Propriétés/Format de contrôle

-Choisir une cellule liée pour récupérer le résultat

Excel 2016 : Comment créer une liste déroulante sur Excel en moins de 7 min.

Solution 2: via liste déroulante active X

Dans les propriétés du combo :

Dans la propriété ListFillRange, le nom du champ: Liste_COMBO_DYNAMIQUE ou la selection si vous la souhaitez non dynamique ( sans = de type B25:C39)

Dans la propriété LinkedCell: L24

Excel 2016 : Comment créer une liste déroulante sur Excel en moins de 7 min.

Version Youtube :

EXCEL_2016_VBA_EX_ZONE_LISTE_DEROULANTE

Tuto :

Excel 2016 : Comment ajuster colonne et ligne de manière en VBA sur Excel en moins de 3 min.

Problématique : Bonjour à tous, J’ai un tableau qui fait à peu près 300 lignes. … Pour le coup, je suis obligée de repasser ligne par ligne pour faire les ajustements, pour que … (entre les numéros de ligne, avant la colonne A) Capture08.

Excel 2016 : Comment ajuster colonne et ligne de manière en VBA sur Excel en moins de 3 min.
Excel 2016 : Comment ajuster colonne et ligne de manière en VBA sur Excel en moins de 3 min.

Solutions : la première ajustement manuel, la deuxième via macro

Excel 2016 : Comment ajuster colonne et ligne de manière en VBA sur Excel en moins de 3 min.
Excel 2016 : Comment ajuster colonne et ligne de manière en VBA sur Excel en moins de 3 min.

Ajustement manuel :

Modifier la largeur d’une colonne pour qu’elle s’ajuste automatiquement au contenu (ajustement automatique)

  1. Sélectionnez la ou les colonnes que vous souhaitez modifier.
  2. Dans le groupe Cellules de l’onglet Accueil, cliquez sur Format.
  3. Sous Taille de la cellule, cliquez sur Ajuster la largeur de colonne.Remarque : Pour ajuster automatiquement et rapidement toutes les colonnes d’une feuille de calcul, cliquez sur le bouton Sélectionner tout, puis double-cliquez sur une limite entre deux en-têtes de colonne.

Via Macro :

Code source VBA :

Excel 2016 : Comment ajuster colonne et ligne de manière en VBA sur Excel en moins de 3 min.
Excel 2016 : Comment ajuster colonne et ligne de manière en VBA sur Excel en moins de 3 min.

Version Youtube :

Excel 2016 : Comment ajuster colonne et ligne de manière en VBA sur Excel en moins de 3 min.

Tuto :