Inverser plusieurs colonnes les unes entre les autres

  • Initiateur de la discussion Initiateur de la discussion alex62217
  • 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 !

A

alex62217

Guest
Bonjour à tous, je cherche une solution à mon problème !

C'est par rapport aux résultats du Loto Foot français.

J'ai essayé de créer une macro à partir d'une autre mais je ne suis pas très très doué 😡

Je souhaiterais tout simplement inverser les colonnes M1-M14; M2-M13; M3-M12..., etc et les recopier de la feuille LF1 vers LF2

Le problème c'est que ma macro efface ma troisième feuille (celle où il y a la case cliquable "Inverser colonne") sans pour autant la remplir 😱

Alors que dois-je faire svp ? 😎
 

Pièces jointes

Re : Inverser plusieurs colonnes les unes entre les autres

Bonsoir alex62217,

Je ne suis pas sûr d'avoir bien compris ta question, néanmoins, je te propose de modifier ta macro ainsi :

Code:
Sub Invers_colonne()

Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = ActiveWorkbook.Sheets("lf1")
Set ws2 = ActiveWorkbook.Sheets("lf2")

For n = 1 To 14
  ch = Mid(ws1.Cells(1, n + 1), 2) + 1
  ws1.Cells(1, ch).EntireColumn.Copy
  col = 16 - n
  ws2.Paste Destination:=ws2.Cells(1, col)
Next

End Sub

Espérant avoir répondu à ton attente.

Cordialement.
 
Re : Inverser plusieurs colonnes les unes entre les autres

Bonsoir alex62217,

Je ne suis pas sûr d'avoir bien compris ta question, néanmoins, je te propose de modifier ta macro ainsi :

Code:
Sub Invers_colonne()

Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = ActiveWorkbook.Sheets("lf1")
Set ws2 = ActiveWorkbook.Sheets("lf2")

For n = 1 To 14
  ch = Mid(ws1.Cells(1, n + 1), 2) + 1
  ws1.Cells(1, ch).EntireColumn.Copy
  col = 16 - n
  ws2.Paste Destination:=ws2.Cells(1, col)
Next

End Sub

Espérant avoir répondu à ton attente.

Cordialement.

Oui c'est ça à part la mise en forme mais ça me suffira amplement !!

Merci PAPOU-NET 😀😀
 
Re : Inverser plusieurs colonnes les unes entre les autres

Bonsoir alex62217,Papou-net & CBernardT,
Bonsoir à toutes et à tous.

Comme, je suis un ignare en VBA; est-il possible de le réaliser en formule?

Merci d'avance.

Cordialement.

Bcharef
 
Re : Inverser plusieurs colonnes les unes entre les autres

Bonsoir alex62217,Papou-net & CBernardT,
Bonsoir à toutes et à tous.

Comme, je suis un ignare en VBA; est-il possible de le réaliser en formule?

Merci d'avance.

Cordialement.

Bcharef

Bonsoir bcharef,

Non, je ne pense pas que celà soit possible par formule.
Mais peut-être est-ce le bon moment pour te lancer dans les macros ? Leur puissance est bien supérieure aux formules, et pour commencer, tu peux utiliser l'enregistreur de macros, l'aide en ligne et bien sûr le
forum (qui regorge de spécialistes).
N'hésites pas, tu ne le regretteras pas.

Cordialement.
 
Re : Inverser plusieurs colonnes les unes entre les autres

Bonsoir à toutes et à tous.

J'ai le plaisir de vous demander de bien vouloir nous confimer, la non possibilité de la résolution du présent sujet par formule.

Salutation distinguées.

Bcharef.
 
Re : Inverser plusieurs colonnes les unes entre les autres

Bonsoir à toutes et à tous.

J'ai le plaisir de vous demander de bien vouloir nous confimer, la non possibilité de la résolution du présent sujet par formule.

Salutation distinguées.

Bcharef.

Ouaaaaa

Quelle belle expression française 😀😀

Ché chur ke nous avec nos "Heinnnnnn" & "Biloutes", on est pas d'la même famille 😛

Plus sérieusement, je confirme que le problème est résolu !

Cordialement.
 
Re : Inverser plusieurs colonnes les unes entre les autres

Bonsoir à tous,

1) une solution à base de formules "compliquées" :
lf2!O2 : =lf1!B2
lf2!N2 : =lf1!C2
.......
lf2!B2 : =lf1!O2
à recopier vers le bas

2) Pour ceux qui préfèrent du matriciel et vu que l'inversion recherchée est une symétrie :
Code:
=SI(PRODUITMAT(SI(lf1!B2:O100="N";0;lf1!B2:O100);lf1!S1:AF14)=0;"N";PRODUITMAT(SI(lf1!B2:O100="N";0;lf1!B2:O100);lf1!S1:AF14))
avec en lf1!S1:F14 la matrice d'inversion des colonnes. (des 0 partout sauf des 1 sur la diagonale secondaire)
Formule à mettre en lf2!B2:O100 et à valider comme il se doit.

NB : ne pas se tromper dans l'ordre de multiplication des matrices

cordialement
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Q
Réponses
10
Affichages
2 K
J
Réponses
2
Affichages
1 K
J
M
Réponses
4
Affichages
1 K
M
A
Réponses
13
Affichages
19 K
ArthurLord
A
H
Réponses
6
Affichages
2 K
Heloise
H
Retour