Inverser plusieurs colonnes les unes entre les autres

alex62217

XLDnaute Nouveau
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é :mad:

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 :eek:

Alors que dois-je faire svp ? :cool:
 

Pièces jointes

  • Historique LF.xls
    41.5 KB · Affichages: 85

Papou-net

XLDnaute Barbatruc
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.
 

alex62217

XLDnaute Nouveau
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 :D:D
 

bcharef

XLDnaute Accro
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
 

Papou-net

XLDnaute Barbatruc
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.
 

bcharef

XLDnaute Accro
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.
 

alex62217

XLDnaute Nouveau
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 :D:D

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

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

Cordialement.
 

ODVJ

XLDnaute Impliqué
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
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 685
Messages
2 090 942
Membres
104 704
dernier inscrit
uranium