INVERSER DEUX CELLULES EN 1 CLIC (INTERVERTIR LES VALEURS) SUR EXCEL

Guide « 108 astuces pour grands débutants sur Excel ! » Offert
Booster votre productivité en téléchargeant gratuitement votre ebook PDF des meilleures astuces pour les débutants et les pros d'Excel
Excel formation - 00 Astuces - 100
 

Dans ce tutoriel, je vais vous montrer comment inverser deux cellules sur Excel. Nous y découvrirons trois méthodes. Dans la première nous intervertirons complétement l’entièreté des cellules. La seconde méthode va nous permettre de n’intervertir que leur contenu, c’est-à-dire leur valeur. Et enfin, avec la troisième et dernière méthode, nous allons pouvoir intervertir ces valeurs, en un seul clic !

 

Téléchargement

Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
 

 

Tutoriel Vidéo

 

1. Présentation

Pour illustrer ce tutoriel, dans lequel nous allons souhaiter inverser deux cellules, nous allons partir de la feuille de calcul suivante :

Excel formation - inverser cellules - 01

Dans celle-ci, nous retrouvons les menus servis lors du déjeuner d’une cantine pour chaque jour de la semaine.

 

2. Inverser des cellules à la main

Pour inverser des cellules, nous allons devoir passer par une cellule tampon, qui va permettre de stocker une cellule en attendant pendant que nous allons déplacer les cellules.

Voici le mode opératoire :

  • Pour commencer, nous sélectionnons la première des cellules que nous souhaitons inverser, puis nous plaçons le curseur sur l’une des bordures de celle-ci :

Excel formation - inverser cellules - 02

  • Lorsque le curseur de la souris prend la forme d’une croix avec des flèches sur chacune des extrémités, nous pouvons simplement déplacer le curseur pour déplacer la cellule :

Excel formation - inverser cellules - 03

  • Lorsque nous relâchons le curseur, la cellule est déplacée !

Excel formation - inverser cellules - 04

  • Ensuite, nous répétons l’opération pour insérer la nouvelle cellule dans l’espace nouvelle créé :

Excel formation - inverser cellules - 05

  • Et enfin de remettre la première cellule :

Excel formation - inverser cellules - 06

Cette méthode permet de réaliser l’opération voulue.

En revanche, comme nous pouvons le constater, celle-ci déplace également la mise en forme des cellules !

 

3. Inverser seulement les valeurs

Voyons maintenant comment faire pour ne déplacer que les valeurs, sans toucher à la mise en forme des cellules.

Ici, plutôt que de simplement déplacer les cellules comme nous l’avons vu juste avant, nous allons utiliser une méthode de collage spécial.

Voici comment nous allons opérer pour réaliser cette opération :

  • Tout d’abord nous sélectionnons l’une des deux cellules, que nous copions en utilisant soit le menu Accueil du Ruban, soit la combinaison de touches [Ctrl]+[c] :

Excel formation - inverser cellules - 07

  • Puis comme sur la méthode précédente, nous choisissons une cellule neutre (qui n’est pas incluse dans le tableau). Nous sélectionnons cette cellule :

Excel formation - inverser cellules - 08

  • Ensuite, nous effectuons un clic-droit afin de choisir « Collage spécial… » :

Excel formation - inverser cellules - 09

  • Ensuite, dans la fenêtre qui s’affiche, nous choisissons simplement d’effectuer un collage des valeurs et nous validons avec le bouton [OK] :

Excel formation - inverser cellules - 10

  • Notez qu’il est également possible d’utiliser le raccourci du clic-droit pour effectuer plus rapidement le collage spécial. Pour cela, une fois la cellule copiée, utilisez simplement l’icône suivante (la seconde dans la ligne des collages spéciaux) :

Excel formation - inverser cellules - 11

  • Puis nous répétons l’opération afin de copier la valeur de l’autre cellule sur laquelle nous désirons effectuer l’inversion :

Excel formation - inverser cellules - 12

  • Et enfin, nous terminons l’inversion de cellule en répétant l’opération entre la valeur de la cellule tampon et la cellule initiale

Excel formation - inverser cellules - 13

 

4. Inverser les valeurs en 1 clic seulement

Vous trouvez ces manipulations complexes à mettre en place ?

Voyons maintenant comment réaliser la même opération en un seul clic !

Pour cela, nous allons bien évidemment devoir mettre développer une tout petite macro commande en VBA.

Je sais que le VBA peut être effrayant lorsque nous ne le connaissons pas, mais pas de panique, nous allons évidemment détailler toutes les opérations dans ce tutoriel.

Et bien entendu, si vous souhaitez en savoir davantage sur VBA, je vous invite à consulter la formation totalement gratuite disponible sur excelformation.fr en suivant ce lien.

Pour commencer, nous allons insérer un bouton sur la page qui nous permettra de réaliser l’opération en effectuant un simple clic sur celui-ci.

Pour cela, rendez-vous dans le menu Insertion du Ruban, dans le groupe Illustrations, cliquez sur le bouton Formes afin de dérouler le menu déroulant pour choisir la forme du bouton désirée :

Excel formation - inverser cellules - 14

Ensuite, il suffit de dessiner la forme sur la feuille de calcul :

Excel formation - inverser cellules - 15

Cela étant fait, nous pouvons personnaliser l’apparence du bouton en déroulant le menu déroulant Style du menu Mise en Forme (attention, ce menu n’apparaitra que lorsque le bouton sera sélectionné) :

Excel formation - inverser cellules - 16

Ensuite, nous effectuons un clic-droit sur le bouton afin d’insérer un texte dans celui-ci (choisir l’option « Modifier le texte ») :

Excel formation - inverser cellules - 17

Une fois le bouton correctement inséré, nous allons pouvoir entrer dans le vif du sujet en affectant une macro qui va se lancer lorsque nous cliquerons dessus.

Pour cela, nous effectuons un nouveau clic-droit > Affecter une macro

Dans la nouvelle fenêtre, nous donnons un nom à cette macro, puis nous validons son insertion en cliquant sur le bouton [Nouvelle] :

Excel formation - inverser cellules - 18

Excel va alors lancer VBE qui est le programme dans lequel nous allons pouvoir saisir la macro.

Excel formation - inverser cellules - 19

Comme nous pouvons le constater, un nouveau module a également été inséré (sous le nom de Module1) et la macro a été ajoutée.

Comme vous pouvez vous en douter c’est bien cette macro qui va être lancée lorsque nous cliquerons sur le bouton.

Commençons maintenant le développement de la macro.

Tout d’abord, nous allons vouloir effectuer un test afin de contrôler que l’utilisateur a bien choisi deux cellules (et deux seulement) afin d’en effectuer l’inversion.

Pour cela nous allons utiliser l’instruction Selection.Count qui permet de récupérer le nombre de cellules sélectionnées.

Nous allons également mettre en place un test IF qui permet, à l’instar de la fonction SI() d’Excel d’effectuer une action donnée que si une condition est effectivement remplie.

Voici le code :

 

Sub inverserCellules()   If Selection.Count = 2 Then
        
    End If
    
End Sub

 

Comme vous pouvez le constater, le test IF se termine par la ligne « End If ».

Tout le code saisi entre ces deux lignes ne sera exécuté que si l’utilisateur a sélectionné deux cellules.

Ensuite, nous allons suivre la méthode vue au début de ces tutoriel, sauf que nous n’allons pas utiliser une cellule tampon, mais nous allons plutôt stocker la valeur de la cellule dans une variable.

Pour cela, nous commençons par déclarer cette variable grâce au mot clé « Dim » et nous lui donnons le Type String, c’est-à-dire une chaîne de caractère :

 

Dim valeur As String

 

Nous affectons maintenant la valeur de la première cellule sélectionnée à cette variable :

 

valeur = Selection(0).Value

 

Puis nous inversons les valeurs des autres cellules :

 

Selection(0).value = Selection(1).Value

 

En enfin, nous affectons la valeur de la variable tampon à la première cellule :

Et voilà, c’est tout !

Ensuite pour tester, il suffit de sélectionner deux cellules de la feuille de calcul :

Excel formation - inverser cellules - 20

Puis d’appuyer sur le bouton :

Excel formation - inverser cellules - 21

Dans cet exemple, nous avons supposé que les cellules supposées étaient adjacentes.

Les choses se compliquent légèrement lorsque cela n’est pas le cas.

Nous allons en effet dans ce cas devoir modifier le code pour prendre en charge la gestion des zones de sélection (Selection.Areas).

Pour commencer nous insérons un deuxième test pour contrôler le nombre de zones sélectionnées (chaque sélection qui n’est pas collée à une autre est considéré comme une zone) :

 

        If Selection.Areas.Count = 1 Then
            
            valeur = Selection(1).Value
            Selection(1).Value = Selection(2).Value
            Selection(2).Value = valeur
        Else
            valeur = Selection.Areas(1).Value
            Selection.Areas(1).Value = Selection.Areas(2).Value
            Selection.Areas(2).Value = valeur
        End If

 

Lorsque la sélection n’est composée que d’une seule zone alors nous pouvons utiliser le code vu juste avant.

Dans le cas contraire, alors nous inversons les valeurs contenues dans chaque zone (en sachant que seules deux cellules sont sélectionnées, soit une par zone)

Pour sélectionner deux cellules non adjacentes, appuyez simplement sur la touche [Ctrl] :

Excel formation - inverser cellules - 22

Petite astuce, dans note fichier de test, cette macro va nous permettre d’aller puiser facilement des plats dans la réserve afin de les insérer dans les menus de la semaine :

Excel formation - inverser cellules - 23

 

5. BONUS : inverser le contenu et le format de deux celluls

Maintenant, si nous souhaitons inverser l'ensemble de deux cellules, c'est-à-dire la valeur comme nous venons de le voir, mais également le format de celles-ci, nous allons devoir utiliser une méthode un petit peu différente.

Pour cela, nous allons en effet utiliser une cellule tampon qui permettra d'enregistrer l'ensemble des paramètres d'une cellule, que nous supprimerons ensuite :

...
    ' Sauvegarde des cellules
    Selection(1).Copy [z1]
    Selection(2).Copy Selection(1)
    [z1].Copy Selection(2)
 
    ' Suppression du contenu et d
    [z1].Delete
...

 

 

 



Articles qui pourraient vous intéresser

Comment connecter Excel sur Internet, sans VBA ?
Comment traduire automatiquement des fonctions Excel dans leur version originale ?
Comment analyser les résultats d’un sondage ou questionnaire avec Excel ?
Comment utiliser la fonction SOMME.SI pour effectuer des recherches sur des textes sur Excel ?
Comment calculer et étudier des écarts budgétaires avec Excel ?
Comment verrouiller et protéger un objet (graphique, image, zone de texte…) sur Excel ?
Comment formater des dates correctement dans Excel ?
Comment protéger le formatage des cellules tout en autorisant la saisie de données dans Excel ?
Comment transformer une photo en tableau Excel ?
Comment créer un publipostage automatique avec Excel ? (sans Word !)
Comment créer un graphique Gaufre sur Excel ?
Comment créer un graphique en cascade dans Excel ?

Contact - Plan du site - À propos - Contact

© Excelformation.fr 2018-2024 - Excel, simplement

Haut de la page

Excelformation.fr propose de nombreuses formations pratiques et gratuites sur Microsoft Excel : des cours pour apprendre à structurer et analyser les données, des tutos sur les fonctions avancées, les formules et les formules avancées d'Excel, les formules matricielles, les mise-en-formes conditionnelles, les graphiques Excel (xls, xlsx, xlsm,…). Des tutoriels pour apprendre à automatiser les tâches répétitives (via des macro-commandes en VBA) de vos classeurs Excel.