Existe-t-il un moyen simple d’échanger le contenu de deux cellules dans Microsoft Excel?
Par facile, j'entends un raccourci clavier ou un élément de menu, sans impliquer de copie dans des cellules temporaires ni d'écrire des scripts VBA ou quelque chose du genre. En d'autres termes, je cherche un moyen de sélectionner simplement deux cellules et de cliquer sur un élément du menu ou d'appuyer sur une combinaison de touches qui permette d'échanger leur contenu. Sûrement, il doit y avoir un moyen de faire cela?
De: http://www.extendoffice.com/documents/Excel/860-Excel-swap-contents-of-two-cells.html
Parfois, il faut échanger deux cellules adjacentes. Nous pouvons le faire manuellement facilement. Regardez la capture d'écran suivante, je veux échanger les cellules A4 et B4, procédez comme suit:
Sélectionnez la cellule que vous souhaitez échanger. Dans cet exemple, sélectionnez la cellule A4.
Appuyez sur la touche Maj et placez le curseur sur le bord droit.
Ensuite, faites glisser le curseur sur le bord droit de la cellule B4.
Quand il affiche «», relâchez la souris.
Et le contenu des deux cellules a été échangé.
Avec cette méthode, nous pouvons également échanger deux lignes ou colonnes adjacentes.
Pour le cas spécifique de plages rectangulaires adjacentes de même taille , vous pouvez utiliser la méthode décrite dans cette réponse à une question similaire .
+
est généralement supérieur à la clé =
de sorte que cela se traduit par Ctrl+Shift+=)Notez que vous pouvez utiliser la même procédure pour échanger des lignes ou des colonnes adjacentes entières.
Par facile, j'entends un raccourci clavier ou un élément de menu, sans impliquer de copie dans des cellules temporaires ni d'écriture de scripts VBA ou quoi que ce soit du genre. Je cherche un moyen de sélectionner simplement deux cellules et de cliquer sur un élément de menu ou d'appuyer sur une combinaison de touches qui permette d'échanger leur contenu.
Pourquoi imposer cette restriction? Créer une macro rend cela trivial. Autant que je sache, cela ne peut pas être fait autrement. Vous pouvez affecter la macro à un bouton ou à un raccourci clavier.
Sub Swap()
If Selection.Count <> 2 Then
MsgBox "Select 2 cells (only) to swap."
Exit Sub
End If
Set trange = Selection
If trange.Areas.Count = 2 Then
temp = trange.Areas(2)
trange.Areas(2) = trange.Areas(1)
trange.Areas(1) = temp
Else
temp = trange(1)
trange(1) = trange(2)
trange(2) = temp
End If
End Sub
Non. Il n'est pas possible d'échanger le contenu de deux cellules dans Excel sans écrire votre propre macro pour le faire.
EDIT: Il semble qu’il existe désormais un moyen simple d’échanger le contenu des cellules dans les versions plus récentes d’Excel. Cette réponse est donc probablement obsolète.
Sélectionnez le premier ensemble de cellules à échanger et à frapper ctrl+x:
Sélectionnez les cellules à côté de celles avec lesquelles vous souhaitez échanger et appuyez sur ctrl++.
Vous pouvez coller jusqu'à 25 éléments dans le Presse-papiers, ils sont donc faciles à échanger avec ctr + tab ou cmd + tab mac
J'ai lu ce post, mais j'avais en fait besoin d'une macro pour échanger des gammes complètes. De plus, j'avais besoin d'échanger les couleurs. Modded légèrement la macro publiée à l'origine, cela pourrait être utile pour quelqu'un.
Sub Swap()
If Selection.Areas.Count <> 2 Then
MsgBox "Select 2 cell ranges (only) to swap."
Exit Sub
End If
If Selection.Areas(1).Count <> Selection.Areas(2).Count Then
MsgBox "The two areas must be of equal size"
Exit Sub
End If
'With this for loop we run through each cell 1 by 1
For i = 1 To Selection.Areas(1).Count
'Swapping values
temp = Selection.Areas(1)(i)
Selection.Areas(1)(i) = Selection.Areas(2)(i)
Selection.Areas(2)(i) = temp
'Swapping color
tempColor = Selection.Areas(1)(i).DisplayFormat.Interior.Color
Selection.Areas(1)(i).Interior.Color = Selection.Areas(2)(i).DisplayFormat.Interior.Color
Selection.Areas(2)(i).Interior.Color = tempColor
Next i
End Sub
Sélectionnez la cellule du bas que vous souhaitez permuter Appuyez sur Ctrl + x et accédez à la cellule que vous souhaitez permuter avec Appuyez sur Ctrl + Maj + = l’échange sera exécuté.