XL 2013 Fonction de permutation en VBA par un ordre spécifique

  • Initiateur de la discussion Initiateur de la discussion simoben
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

simoben

XLDnaute Nouveau
salut tout le monde,J'ai besoin a une macro permet de faire une permutation entre deux variables avec les contraintes suivantes :

-Un tableau contient 5 cellules comme Cela

A

B

C

D

E

Si je permute A et D; D prendre la place de A et A arrive aprés D directement. alors Le tableau devient Comme Ca

D

A

B

C

E

Veillez m'aider et merci beaucoup .
 

Pièces jointes

Re : Fonction de permutation en VBA par un ordre spécifique

Bonjour.
VB:
Option Explicit

Sub test()
Permut [A5:C5], [A2:C2]
End Sub

Sub Permut(ByVal Fin As Range, ByVal Déb As Range)
Fin.Cut
Déb.Insert xlShiftDown
Application.CutCopyMode = False
End Sub
 
Re : Fonction de permutation en VBA par un ordre spécifique

Merci infiniment mon prof Dranreb ,désolé pour le retard j'avais des problèmes de connexion; la fonction est super; Mais je pense que j'ai pas bien expliqué le fonctionnement ; la permutation n'est pas seulement concerné D et A, je cherche une fonction qui me permet de permuter deux cellule quelconque mais elle respecte l’ordre que j'ai déjà signalé .Si possible Veuillez m'aider et désolé pour le dérangement merci.
 
Re : Fonction de permutation en VBA par un ordre spécifique

Voulez vous dire que vous ne voulez pas qu'elle permute les cellules elles même, mais qu'elle renvoie les valeurs permutées dans une autre plage ? Une fonction à utiliser comme formule matricielle en somme ?
Sinon la Sub Permut permet de permuter n'importe quelles plages spécifiées en paramètres. La sub Test n'est qu'un exemple d'utilisation pour A5:C5 et A2:C2
 
Re : Fonction de permutation en VBA par un ordre spécifique

Salut Mr,
Oui c'est ça, je pense que tu m'as compris Maintenant . pour plus d'explication ce que je cherche c'est une fonction me permet de permuter les deux cellules sélectionnés n'est pas spécifiquement [A5:C5], [A2:C2] avec l'ordre que j'ai déjà signalé merci encore merci .
 
Re : Fonction de permutation en VBA par un ordre spécifique

Non je n'ai pas compris. Une fonction dans une formule ne peut pas s'appuyer sur la sélection, mais sur les paramètres qu'on lui précise. Je crois que vous confondez fonction et procédure.
Essayez Permut Selection.Areas(1), Selection Areas(2)
Ça devrait marcher sur une sélection multiple.
 
Re : Fonction de permutation en VBA par un ordre spécifique

Désolé j'ai pas compris je suis un débutant en VBA. voila ce que je veux
je veux choisir deux cellules quelconque et les permuter aprés la permutation l'un arrive aprés l'autre directement .
comme Sub test avec l'option de choisir les cellules permutées .
 
Re : Fonction de permutation en VBA par un ordre spécifique

VB:
Sub PermSelMult()
Permut Selection.Areas(2), Selection.Areas(1)
End Sub
Sub Permut(ByVal Fin As Range, ByVal Déb As Range)
Fin.Cut
Déb.Insert xlShiftDown
Application.CutCopyMode = False
End Sub
Vous sélectionnez en maintenant la touche Ctrl enfoncée la plage à déplacer et la plage devant laquelle l'insérer, puis vous exécutez PermSelMult
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
588
Compte Supprimé 979
C
Retour