Bonjour,
quel est le moyen le plus OOo d'échanger le contenu de 2 cellules ?
Raccourci clavier ? Macro ? Copier/coller avec une cellule tampon ?
Merci !
[Résolu] Comment inverser le contenu de 2 cellules ?
Modérateur : Vilains modOOs
Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
-
rangzen
- Fraîchement OOthentifié
- Messages : 6
- Inscription : 13 avr. 2009 12:23
[Résolu] Comment inverser le contenu de 2 cellules ?
Dernière modification par Oukcha le 13 avr. 2009 20:02, modifié 1 fois.
Raison : Balisage / Avisé par MP
Raison : Balisage / Avisé par MP
-
jjk
- HédOOniste

- Messages : 1696
- Inscription : 27 oct. 2008 14:30
Re: Comment inverser le contenu de 2 cellules ?
Je ne connais pas de moyen simple.
J'ai écrit cette macro qui peut rendre service. Attention : je ne l'ai testée que dans les cas simples.
Je décline toute responsabilité si elle dégrade votre classeur. Pensez à le sauvegarder avant d'exécuter la macro.
Pour l'utiliser, il faut sélectionner les 2 cellules dont on veut échanger le contenu, à l'aide de la souris et de la touche Ctrl.
Les 2 cellules doivent être sur la même feuille.
En cas de zones sélectionnées, ce sont les premières cellules de chaque zone qui sont échangées.
Attention : les formules sont échangées. Cela peut donc donner des résultats inattendus.
J'ai écrit cette macro qui peut rendre service. Attention : je ne l'ai testée que dans les cas simples.
Je décline toute responsabilité si elle dégrade votre classeur. Pensez à le sauvegarder avant d'exécuter la macro.
Pour l'utiliser, il faut sélectionner les 2 cellules dont on veut échanger le contenu, à l'aide de la souris et de la touche Ctrl.
Les 2 cellules doivent être sur la même feuille.
En cas de zones sélectionnées, ce sont les premières cellules de chaque zone qui sont échangées.
Attention : les formules sont échangées. Cela peut donc donner des résultats inattendus.
Code : Tout sélectionner
Sub Echange2Cellules
Dim oDoc as Object, oSht as Object, sel as Object
Dim a as Variant, b as Variant
Dim f as Double, r0 as Double, r1 as Double, c0 as Double, c1 as Double
oDoc=ThisComponent
sel=oDoc.currentSelection
if sel.supportsService("com.sun.star.sheet.SheetCellRanges") then
With sel(0).RangeAddress
f = .sheet : r0 = .startRow : c0 = .startColumn
End With
With sel(1).RangeAddress
f = .sheet : r1 = .startRow : c1 = .startColumn
End With
a = oDoc.sheets(f).getCellByPosition(c0, r0).formula
b = oDoc.sheets(f).getCellByPosition(c1, r1).formula
oDoc.sheets(f).getCellByPosition(c0, r0).formula = b
oDoc.sheets(f).getCellByPosition(c1, r1).formula = a
else
msgbox "Il faut sélectionner 2 cellules discontigues"
endif
end Sub
OpenOffice 3.1.1 sous XP-SP2 et LibreOffice 3.5.0 sous Win 7
-
Jean-Louis Cadeillan
- GourOOu

- Messages : 6076
- Inscription : 02 janv. 2009 23:56
Re: Comment inverser le contenu de 2 cellules ?
Sinon, si les deux cellules sont contiguës, après avoir sélectionné une des deux cellules, faire un cliqué glissé avec la combinaison Shift+Alt...
Cordialement
Jean-Louis
Cordialement
Jean-Louis
Windows 10 Pro 64, LibO 25.2.6.2 (JRE 1.8.0_471) et AOO 4.1.15 (Adoptium 19.0.2.7)
-
rangzen
- Fraîchement OOthentifié
- Messages : 6
- Inscription : 13 avr. 2009 12:23
Re: Comment inverser le contenu de 2 cellules ?
Merci pour la macro, ça marche nickel.
Dommage qu'il n'y ait pas plus simple.
Dommage qu'il n'y ait pas plus simple.
OOo 3.2 sur GNU/Linux Ubuntu 10.4