XL 2019 Fusionner deux tableaux en les intercalant

Victor75

XLDnaute Nouveau
Bonsoir à tous,

Je suis à la recherche d'une fonction VAB me permettant de fusionner deux tableaux.
D'une manière à ce que le tableau de la colonne B s'intercale dans le tableau de la colonne A.

Romain (colonne B) ira en dessous de Alexis (colonne A)...
Theo (colonne B) en dessous de Antoine (colonne A)...
Et ainsi de suite.

J'aimerais passer de ce tableau :

Capture d’écran 2022-07-09 à 23.21.55.png


A ce tableau :

Capture d’écran 2022-07-09 à 23.21.31.png

Via un pop-up me permettant de sélectionner le tableau en question :

Ess.PNG


Est-ce possible ?

Merci d'avance pour votre aide.
 

Pièces jointes

  • Séparation.xlsx
    9.9 KB · Affichages: 11
Dernière édition:
Solution
@Victor75

attention : lis d'abord mon post #15 précédent. :)

fais Ctrl e ➯ travail effectué. 😊



remarque : tous les fichiers Excel que tu as joint ont une extension .xlsx ; or un fichier .xlsx ne peut pas contenir de code VBA ! ➯ j'ai dû convertir chacun de tes fichiers .xlsx en fichier .xlsm pour pouvoir y mettre du code VBA ; ou si tu préfères, pour pouvoir y mettre des macros (Sub ou Function).

je n'ai pas écrit cette remarque...​

soan

XLDnaute Barbatruc
Inactif
@Victor75

attention : lis d'abord mon post #15 précédent. :)

fais Ctrl e ➯ travail effectué. 😊



remarque : tous les fichiers Excel que tu as joint ont une extension .xlsx ; or un fichier .xlsx ne peut pas contenir de code VBA ! ➯ j'ai dû convertir chacun de tes fichiers .xlsx en fichier .xlsm pour pouvoir y mettre du code VBA ; ou si tu préfères, pour pouvoir y mettre des macros (Sub ou Function).

je n'ai pas écrit cette remarque en tant que critique ; c'est juste pour que tu sois conscient que si tu veux faire un fichier Excel avec du code VBA, il faudra que tu choisisses ce Type de fichier Excel :

"Classeur Excel (prenant en charge les macros)"

c'est le 2ème item de la liste "Type :", et c'est cela qui va créer un fichier .xlsm ; ça ne marchera pas si tu renommes un .xlsx en .xlsm !

exemple : ouvre un fichier Excel .xlsx et appuie sur la touche F12 ➯ fenêtre "Enregistrer sous" ; en bas, sous "Nom de fichier :", il y a "Type :" c'est dans cette liste que tu dois choisir le 2ème item mentionné ci-dessus.

à partir d'un nouveau classeur Excel dans lequel tu veux mettre du code VBA, au moment de l'enregistrer, ne fais pas comme d'habitude (Ctrl s, ou clic sur l'icône disquette) ; appuie sur la touche F12 pour pouvoir choisir le bon type de fichier.


si tu fais souvent cette manip, donc si tu as souvent des classeurs Excel avec macros, alors tu peux automatiser ça dans les options d'Excel :​

Image.jpg


bien sûr, si tu choisis cette option, c'est pour tes classeurs Excel sans macros que tu devras faire une conversion, dans ce Type de fichier : "Classeur Excel" (sous-entendu sans prise en charge des macros) ; c'est le 1er item de la liste "Type :".​



code VBA (22 lignes) :

VB:
Option Explicit: Option Base 1

Sub Essai()
  Dim n&: n = Cells(Rows.Count, 1).End(3).Row
  If n = 1 And IsEmpty([A1]) Then Exit Sub
  Dim T1, T2, i&, j&, k&
  T1 = [A1].Resize(n, 4): ReDim T2(2 * n, 3)
  For i = 1 To n
    For j = 3 To 4
      k = k + 1
      If k Mod 2 = 1 Then
        T2(k, 2) = "HI": T2(k, 1) = T1(i, 1)
      Else
        T2(k, 2) = "LO"
      End If
      T2(k, 3) = T1(i, j)
    Next j
  Next i
  Application.ScreenUpdating = 0: Columns.ClearContents
  [A1].Resize(2 * n, 3) = T2
End Sub

soan
 

Pièces jointes

  • Compilation par date.xlsm
    17.1 KB · Affichages: 3

soan

XLDnaute Barbatruc
Inactif
@chris

4ème version de la demande :mad:

plus exactement :

1) il y a eu un 1er énoncé initial = un 1er exo ; c'était ça :

Image.jpg


il fallait insérer une ligne vierge entre chaque ligne de 2 prénoms.

2) l'énoncé initial a été remplacé par un autre = un 2ème exo.

c'est l'énoncé actuel du post #1, qui est pour mettre la liste de l'image ci-dessus sur une seule colonne, sans insérer de ligne vierge, mais en intercalant les prénoms.​

3) la demande du post #9 est un 1er complément du post #1 actuel :

il faut ajouter une colonne en A avec des "HI" "LO" pour chaque couple de prénoms de la liste.

4) la demande du post #11 est un 2ème complément du point 3) :

il faut ajouter une colonne en A avec des dates, pour chaque couple de prénoms de la liste.

alors même si effectivement ça paraît beaucoup, c'est quand même, finalement, le même exercice, avec juste quelques petites variations. :)



Est-il possible d'obtenir, via du VBA...

et VBA demandé avec insistance

oui, c'est vrai que Victor a demandé du VBA ! mais il a quand même apprécié ton post #10 avec une solution PowerQuery car il t'a attribué un Like "J'aime" (pouce bleu levé vers le haut) ; peut-être que si tu postes une autre solution PowerQuery Victor l'appréciera aussi ? et même si c'est pas le cas, ton post pourra être utile à un autre lecteur de cette conversation qui sera intéressé par PowerQuery. :)



donc je plie bagages...

ménon, on t'aime bien, alors faut pas nous quitter si vite ! 😜 par contre, si t'habites près d'la mer et qu't'as envie de t'baigner à la plage, alors j'comprends que tu veuilles profiter du soleil et des vacances... 🏊‍♂️

soan
 

Victor75

XLDnaute Nouveau
Bonsoir à tous,

Je comprends tout-à-fait vos remarques et vous présente mes excuses.
J'aurai du bien réfléchir avant de cumuler sur un très court laps de temps plusieurs variantes à mon énoncés.

Encore désolé.

Vous m'avez tous beaucoup aidé et vous remercie pour votre générosité !
Ca m'a permis d'apprendre pas mal de choses.

@soan Merci à toi pour ta sollicitude ;)

Belle soirée à tous !
 

soan

XLDnaute Barbatruc
Inactif
@Robert

J'ai l'impression qu'il nous prend pour des c*** !?

moi aussi, j'ai failli me fâcher quand j'ai vu la nouvelle demande du post #11 : avec toutes les dates en colonne A, j'ai d'abord pensé qu'il s'agissait d'un nouvel exercice, alors qu'en fait ce n'est qu'une 2ème petite variante ; je l'ai donc pris comme ce qu'il est réellement : c'est juste un 2ème petit complément (et ça ne m'a pas pris beaucoup de temps pour le faire) ; je te laisse lire mon post #17 à chris pour plus de détails.​



Allez hop ! Direct sur ma liste rouge... Il y avait longtemps dis donc...

après tout ce que j'ai indiqué, je crois que tu peux enlever le pseudo Victor75 de ta liste rouge. 😜 d'autant plus qu'il n'y a pas eu d'autre complément : cette fois, l'exo de ce sujet est bien terminé. :)

soan
 

soan

XLDnaute Barbatruc
Inactif
Victor75 à dit:
Bonsoir soan,

Un tout grand merci à toi !
Le rendu est génial et me sera utile pour un long moment !

c'est le début d'un MP que j'ai reçu de Victor75 ; je le montre
pour informer que ce sujet est effectivement résolu. :)



@Victor75

quand un sujet est résolu, il est d'usage de marquer comme solution le post qui t'a fourni une solution adéquate ; comme ici c'est mon post #16, tu dois faire ainsi :​

Coche.jpg


toi seul peut le faire, et ça permettra aux lecteurs
d'aller directement sur le post de ma réponse.

(tu sauras si tu as réussi quand le bord droit sera en vert)

soan
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour le fil, bonjour le forum,

Non, non... Je persiste et je signe. Victor est un pénible qui ne sait pas ce qu'il veut et qui profite de nos gentillesses. Le fait de fayoter Soan lui a valu son indulgence (et je le comprend très bien) mais c'est typiquement le genre de comportement qui m’insupporte... Après ton commentaire, Soan, je l'ai retiré de ma liste rouge pour le mettre en première ligne de ma liste
Noire. Les fameux...

Mais ne t'inquiète pas Victor, ma réputation de vieux grincheux (allez, osons le vrai mot : c**) n'en sera que plus confortée. Comme en plus, je ne suis pas rancunier, c'est juste le temps de 25 générations. Mais, avec mes soucis de mémoire, dus à mon jeune âge, je risque de répondre à un de tes post dans les jours qui suivent...
Allez va ! Je te pardonne parce que la vie est courte...
 

soan

XLDnaute Barbatruc
Inactif
Bonsoir Robert,

Victor est tout nouveau (seulement 7 messages), alors laisse-lui le temps de s'accoutumer aux bons usages des forums ! de plus, dans son post #18, il a reconnu lui-même son erreur, et il s'est excusé :​

Bonsoir à tous,

Je comprends tout-à-fait vos remarques et vous présente mes excuses.
J'aurais dû bien réfléchir avant de cumuler sur un très court laps de temps plusieurs variantes à mon énoncé.

Encore désolé.

n'y a-t-il pas un dicton qui dit « faute avouée est à moitié pardonnée » ? alors sois généreux et pardonne-lui aussi l'autre moitié ! 😜 surtout que je suis sûr que Victor ne refera plus la même erreur dans ses prochains sujets ; n'est-ce pas, Victor ? alors tu pourrais aussi retirer Victor de ta liste noire. 😇

mais si le rouge et le noir te manquent tellement, je te propose de lire le roman de Stendhal "Le Rouge et le Noir" ! 😄 tu peux aussi aller jouer à la roulette au casino : je crois qu'ils disent : « rouge, noir, impair et manque ! ». 😛 mais comme j'suis pas joueur, j'sais pas c'qu'ils veulent dire au juste ! 🤣



Allez va ! Je te pardonne parce que la vie est courte...

ah, là c'est ok ! 😊 👍 alors si tu as pardonné à Victor, c'est qu'il n'est plus sur ta Red List, ni sur ta Black List ! d'ailleurs, pour la liste rouge, tu l'as confirmé (et je t'en remercie) : « Après ton commentaire, Soan, je l'ai retiré de ma liste rouge ».​

🍾 🍷 🍹

soan
 

Discussions similaires

Réponses
6
Affichages
223
Réponses
4
Affichages
193

Statistiques des forums

Discussions
312 178
Messages
2 085 984
Membres
103 079
dernier inscrit
sle