Sélectionner données d'une feuille puis coller sur une autre sans les cellules vides

Drokarre

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je cherche à sélectionner les données de plusieurs colonnes (Feuille 5), par exemple (G4 : G74) ; (J4 : J74) ; (M4 : M4), etc.

Puis, j'aimerais les coller automatiquement dans d'autres colonnes (Feuille 1), par exemple (C6 : C26) ; (D6 : D26) : (E6 : E26), etc.

Cependant, des cellules vides peuvent se trouver entre les cellules sur la Feuille 5 car elles sont remplies selon les conditions d'une formule.

Or, j'aimerais que ces cellules soient collées sur l'autre onglet, mais sans cellule vide entre elles.

Exemple tableau initial (feuille 5) :

GHIJKLM
1A1A2
2A3
3
4A4
5
6A5A6

Après l'activation de la macro, j'aimerais obtenir ce résultat sur l'autre tableau (feuille 1) :

CDE
1A1A2A4
2A3A6
3A5

Nb: je ne peux pas supprimer les cellules vides qui se trouvent entre les cellules remplies sur le tableau initial car des formules sont présentes dans ces dernières pour obtenir ces données.

Vous pourrez trouver le fichier ci-joint, vous comprendrez mieux.

Merci d'avance pour l'aide que vous m'apporterez.
 

Pièces jointes

  • Doc_cellule_vide.xlsm
    271.9 KB · Affichages: 12
Solution
Bonjour à tous,

Avec cette formule, cela devrait éviter cette erreur
Code:
=SIERREUR(INDEX(DECALER('Delays Depart'!$F$3;1;EQUIV(C$1;'Delays Depart'!$G$3:$BE$3;0);NBVAL('Delays Depart'!$H:$H));PETITE.VALEUR(SI(DECALER('Delays Depart'!$F$3;1;EQUIV(EXPORT!C$1;'Delays Depart'!$G$3:$BE$3;0);NBVAL('Delays Depart'!$H:$H))<>"";LIGNE('Delays Depart'!$G$4:$G$62)-3);LIGNE(1:1)));"")

JHA

Drokarre

XLDnaute Nouveau
Bonjour,

J'ai dû étendre le tableau mais certaines données ne sont plus enregistrées automatiquement dans la première feuille.

Pourtant, j'ai bien adapté la longueur des colonnes dans la formule : 51 , 59 et 62.

Quelqu'un pourrait-il trouver la coquille dans la formule s'il vous plaît ?

Je précise que c'est pour Delays Depart et Delays Arrival.

Merci d'avance

1597676017773.png
 

Pièces jointes

  • AVRIL EXPORT.xlsm
    788.4 KB · Affichages: 2

JHA

XLDnaute Barbatruc
Bonjour à tous,

Tu n'as changé les données que dans une partie de la formule, il faut le faire sur les deux.
VB:
=SIERREUR(INDEX(DECALER('Delays Depart'!$F$3;1;EQUIV(C$1;'Delays Depart'!$G$3:$BE$3;0);59);PETITE.VALEUR(SI(DECALER('Delays Depart'!$F$3;1;EQUIV(EXPORT!C$1;'Delays Depart'!$G$3:$BE$3;0);59)<>"";LIGNE('Delays Depart'!$G$4:$G$62)-3);LIGNE(1:1)));"")

JHA
 

Pièces jointes

  • AVRIL EXPORT.xlsm
    787 KB · Affichages: 3

JHA

XLDnaute Barbatruc
Bonjour à tous,

Avec cette formule, cela devrait éviter cette erreur
Code:
=SIERREUR(INDEX(DECALER('Delays Depart'!$F$3;1;EQUIV(C$1;'Delays Depart'!$G$3:$BE$3;0);NBVAL('Delays Depart'!$H:$H));PETITE.VALEUR(SI(DECALER('Delays Depart'!$F$3;1;EQUIV(EXPORT!C$1;'Delays Depart'!$G$3:$BE$3;0);NBVAL('Delays Depart'!$H:$H))<>"";LIGNE('Delays Depart'!$G$4:$G$62)-3);LIGNE(1:1)));"")

JHA
 

Pièces jointes

  • AVRIL EXPORT.xlsm
    787.9 KB · Affichages: 5

Discussions similaires