Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1851 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  échanger des cellules sous excel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

échanger des cellules sous excel

n°2162449
cury
Posté le 18-09-2005 à 17:16:09  profilanswer
 

Bonjour,
 
Quelqu'un sait-il s'il est possible sous excel d'échanger deux cellules de place entre elles : par exemple, on clique sur qq chose dans une barre d'outil, puis on clique sur les deux cellules à intervertir et le tour est joué ! (plutôt que de devoir en copier une, la mettre de côté, copier l'autre à sa place et enfin aller rechercher la première.
 
Merci

mood
Publicité
Posté le 18-09-2005 à 17:16:09  profilanswer
 

n°2162962
Papy Octet
Posté le 19-09-2005 à 00:07:55  profilanswer
 

Tu peux écrire cette procédure dans VBA de ton classeur.
 
Tu place un bouton de formulaire sur ta feuille Excel et lorsque tu as sélectionné deux cellules dans la feuille, si tu cliques sur ton bouton, tes deux cellules sont permutées.
 
Attention que je n'ai pas introduit de vérification sur la sélection de deux cellules !!
 
Sub Permute()
'Permuter le contenu de deux cellules sélectionnées
'dans une feuille Excel.
Dim Buf, Cell1, Cell2
 
Buf = ActiveWindow.RangeSelection.Address
Cell1 = Left(Buf, 4)
Cell2 = Right(Buf, 4)
 
Buf = ActiveSheet.Range(Cell1).Value
ActiveSheet.Range(Cell1) = ActiveSheet.Range(Cell2).Value
ActiveSheet.Range(Cell2) = Buf
 
End Sub
 
A+

n°2176743
cury
Posté le 01-10-2005 à 19:04:40  profilanswer
 

Quest ce que c'est VBA ?

n°2176807
cello3135
Don't bring back ur strawberry
Posté le 01-10-2005 à 20:29:11  profilanswer
 

lol

n°2176909
cury
Posté le 01-10-2005 à 23:05:41  profilanswer
 

Je trouce ça nul comme comportement Cello3135.

n°2176918
aknott31
Que la fête commence...
Posté le 01-10-2005 à 23:18:43  profilanswer
 

VBA est un langage de programation (Visual Basic for Applications)
diponible dans toutes les applications OFFICE
Word, excel et powerpoint (et d'autres encore)
cela te permet de programmer en Visual Basic des commandes et des fonctions comme celle que t'a presenté Papy Octet
 
par exemple,
pour tester le code de Papy Octec,
dans excel, sur les onglets en bas portant le nom des feuilles (feuil1 feuil2 etc)
tu clique droit sur la premiere feuille et tu vas trouver un menu
dans ce menu tu cliques sur visualiser le code
et te voila dans VBA
a gauche tu va trouver une arborescnce
presantant des elemnets resemblant a ceci :
VBAProject (CLasseur1)
----Feuil1
----Feiuil2
----...
 
tu clique droit sur VBAPRojetc(Classeur1)
insertion-> module
et la tu colle le code de Papy
 
t'as plus qu'a associer la procedure permute (sub permute() ) à un bouton que tu cree dans excel
et le tour est joué
 
le code faisant partie integrante de ton classeur excel
tu peux quitter visual basic en cliquant sur fichier->fermer et retourner à excel
et quand tu enregistre ton classeur, le code suit (il est dedans)


Message édité par aknott31 le 01-10-2005 à 23:23:41
n°2176922
cury
Posté le 01-10-2005 à 23:22:33  profilanswer
 

MERCI et concrètement comment on fait pour appliquer les conseiles de Papy Octet ?

n°2176923
aknott31
Que la fête commence...
Posté le 01-10-2005 à 23:24:11  profilanswer
 

j'etait en train d'editer pendant ton post relis ma reponse...

n°2176926
cury
Posté le 01-10-2005 à 23:34:09  profilanswer
 

Merci beaucoup, je vais essayer tout ça.
A +

n°2176927
cury
Posté le 01-10-2005 à 23:45:11  profilanswer
 

Comment fait-on pour créer un bouton ?

mood
Publicité
Posté le 01-10-2005 à 23:45:11  profilanswer
 

n°2176942
aknott31
Que la fête commence...
Posté le 02-10-2005 à 00:06:28  profilanswer
 

la procedure que je te donne est pour excel XP (office XP) mais dans 2000 c'est sensiblement pareil
ajoute la barre d'outils "boite à outils controles" en cliquant droit a coté d'une des barres de boutons d'excel (sous les menus) et active le barre nommée plus haut
la tu clique sur l'icone qui resemble a une equerre et un crayon
apres ca tu clique sur l'icone en forme de rectangle (son nom est bouton de commande (laisse la souis un moment sur les icones pourvoir les noms)
puis tu clique dans ta feuille escel
un bouton va apparaitre
apres ca clioque droit sur le bouton et visualiser le code
tu vas te retrouver dans VBA
et la
si tu avait deja collé le code de papy octet
tu va te trouver dans une fenetre ou il y aura ecrit
 
private sub commandbutton'n'_click()
 
end sub
 
 
entre les deux lignes tu tapes simplement  
call permute()
 
tu referme
et de retour a escel tu reclique sur l'equerre puis tu ferme la barre de boutons
t'as plus qu'a tester ton code en cliquant sur le bouton créé...
 
je sais la c'est pas tres clair pour bien faire, il faudrait des copies d'ecran, mais la franchement il est trop tard pour que je m'y colles...

n°2176965
cury
Posté le 02-10-2005 à 00:28:38  profilanswer
 

J'ai réussi à créer le bouton, mais cela ne fonctionne pas, je recommencerai demain. Merci et bonsoir.

n°2846164
boueb
Posté le 11-03-2009 à 10:44:08  profilanswer
 

Sub Swap()
Dim cval(), cadd()
a = 1
ReDim cval(2), cadd(2)
For Each usrcell In Selection
cval(a) = usrcell.Value
cadd(a) = usrcell.Address
a = a + 1
Next usrcell
Range(cadd(1)).Select
ActiveCell = cval(2)
Range(cadd(2)).Select
ActiveCell = cval(1)
End Sub

n°2846176
TAM136
Posté le 11-03-2009 à 12:28:50  profilanswer
 

boueb a écrit :

Sub Swap()
Dim cval(), cadd()
a = 1
ReDim cval(2), cadd(2)
For Each usrcell In Selection
cval(a) = usrcell.Value
cadd(a) = usrcell.Address
a = a + 1
Next usrcell
Range(cadd(1)).Select
ActiveCell = cval(2)
Range(cadd(2)).Select
ActiveCell = cval(1)
End Sub


 
Et bien, le pauvre curry, j'espère qu'il n'a pas attendu 4 ans!

n°2909634
caisson
si tu pédale pas t'avance pas
Posté le 08-11-2009 à 17:51:55  profilanswer
 

boueb a écrit :

Sub Swap()
Dim cval(), cadd()
a = 1
ReDim cval(2), cadd(2)
For Each usrcell In Selection
cval(a) = usrcell.Value
cadd(a) = usrcell.Address
a = a + 1
Next usrcell
Range(cadd(1)).Select
ActiveCell = cval(2)
Range(cadd(2)).Select
ActiveCell = cval(1)
End Sub


 
Bonjour
je suis nouvel arrivant sur ce forum, et je viens de tester ces quelques lignes de programme qui fonctiones plutôt bien.
Mais n'ayant auqu'une compétence en programmation de macro je voudrais fair appail à tes capacitées.
Je voudrai permuter plusieurs cellule d'un colonne avec plusieurs cellule de la colonne d'à coté, en même temps bien sur!!!!
Si tu sais faire je suis preneur Merci

n°3266541
mexav2000
Posté le 16-03-2017 à 23:18:40  profilanswer
 

Papy Octet a écrit :

Tu peux écrire cette procédure dans VBA de ton classeur.
 
Tu place un bouton de formulaire sur ta feuille Excel et lorsque tu as sélectionné deux cellules dans la feuille, si tu cliques sur ton bouton, tes deux cellules sont permutées.
 
Attention que je n'ai pas introduit de vérification sur la sélection de deux cellules !!
 
Sub Permute()
'Permuter le contenu de deux cellules sélectionnées
'dans une feuille Excel.
Dim Buf, Cell1, Cell2
 
Buf = ActiveWindow.RangeSelection.Address
Cell1 = Left(Buf, 4)
Cell2 = Right(Buf, 4)
 
Buf = ActiveSheet.Range(Cell1).Value
ActiveSheet.Range(Cell1) = ActiveSheet.Range(Cell2).Value
ActiveSheet.Range(Cell2) = Buf
 
End Sub
 
A+


 
Bonsoir,
Suite à mes recherches, je viens de découvrir ce qui répond parfaitement à ma demande et qui fonctionne.
Mais comme toujours, il en faudrait plus.!
Je m'explique, il s'agit d'équipes de deux partenaires (Nord/Sud) et adversaires (Est/Ouest) soit 2 X 2 cellules contiguës à intervertir.
soit par exemple:  A1 et B1 à inverser par rapport D8 et E8;  D8 et E8 étant déplacé vers A1-B1 vice versa.
En quelques sortes votre macro initiale qui au lieu de fonctionner par 1 cel vers une autre cel. Ma demande est de pouvoir fonctionner avec 2 cel. contiguës vers 2 autres cel.contiguës.
Merci pour votre aide.
Bien cordialement
 

n°3266693
mexav2000
Posté le 18-03-2017 à 11:19:50  profilanswer
 


 
Bonjour,
Dois-je ouvrir un nouveau sujet pour avoir une réponse ?
Merci de bien vouloir m'aider


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  échanger des cellules sous excel

 

Sujets relatifs
Excel. Classer une sélection de lignes par ordre alphabétiqueExcel - extraire chiffres d'une cellule alpha num
utilisation excelExcel - changer la couleur d'une cellule avec une formule "SI"
forum aide word exceltableau sous excel
lenteur fichier excel à telle heure[excel]comment renommer une colomne?
[Excel] Valeur finale - Détermination initialeLiaison cellule excel
Plus de sujets relatifs à : échanger des cellules sous excel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR