Microsoft 365 Transformation d'un tableau ?

antoine333

XLDnaute Nouveau
Bonjour,

Je souhaite transformer un tableau qui à cette forme :

xyzxyz
a123456
en:

xyz
a123
a456
avec une formule ou en VBA si possible

Quelqu'un à t-il une idée ?

MERCI
 

Pièces jointes

  • tableau modif.xlsx
    31.7 KB · Affichages: 33

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir,
Ce serait une bien mauvaise idée. A chaque nouvelle entrée vous perdriez 0.3s à 0.5s, ce serait insupportable.
Par contre on peut lancer dès que vous sélectionnez la feuille 2, et vous n'avez plus de boutons. Voir PJ.
 

Pièces jointes

  • tableau modif (V2).xlsm
    72 KB · Affichages: 2

antoine333

XLDnaute Nouveau
Oui c'est mieux comme ça, merci! j'ai un autre problème (je profite de vos compétences tant que je vous tiens :D), j'avais créé une macro pour actualiser un Excel tous les 30 min mais le problème est qu'il s'ouvre tout seul quand je suis sur un autre Excel ..., si vous avez une meilleure solution pour actualiser, je ne suis pas contre^^.
(L'actualisation est pour que les personnes qui utilisent cet Excel n'aient pas à toucher le document)
voici l'Excel
 

Pièces jointes

  • refresh.xlsm
    12 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Si c'est juste un problème d'affichage, alors tentez ça pour voir :
VB:
Sub Tempo()
Application.ScreenUpdating = False
ActiveWorkbook.RefreshAll
Application.OnTime TimeValue("7:02:00"), "Tempo"
.......
Application.OnTime TimeValue("18:32:00"), "Tempo"
ActiveWindow.WindowState = xlMinimized
End Sub
On fige l'écran et à la fin on minimise la feuille.
Par contre il est possible que ce fichier reste actif et non le nouveau. A tester.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Oups !
Effectivement il se minimalise toujours .... même quand c'est lui qui est censé être actif.
Et je ne vois pas de solution simple pour contourner le problème.
Solution "très batarde" : à chaque exécution de tempo toutes les 30 min, un message demande si on doit ou non afficher la feuille.
En PJ un essai, avec un message toutes les 30 min. J'avoue que c'est biscornu comme proposition.

Bonjour Soan,
Le problème n'est pas là.
On a deux classeur XL qui tournent dont l'un à une macro qui s'exécute toutes les 30 min, et un second sur lequel l'utilisateur travaille.
Donc toutes les 30min ce classeur devient actif, or on veut continuer à travailler sur l'autre. Or à ce moment c'est le premier fichier qui s'affiche.
D'où l'idée de finir la macro par un xlMinimized pour rester sur l'autre classeur.
Le problème est que quand on veut travailler sur ce premier fichier alors à la première exécution on a le classeur qui se minimalise. Oups.
Question : Comment savoir si un classeur est affiché parce que l'utilisateur le veut, ou parce qu'une macro vient de s'exécuter ?
 

Pièces jointes

  • refresh (12).xlsm
    13.9 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
Ca ne changerai pas grand chose car comment décider que l'application ensuite doit être minimaliser ou non ? Comment savoir que l'utilisateur travaille sur ce fichier ou non ?
Peut être une solution avec cette PJ. Il y a un bouton; L'utilisateur choisit le mode Invisible ou normal.
Quand le mode est invisible on fait xlMinimized , sinon xlNormal.
La variable est initialisée en "normal" dans ThisWorkbook à l'ouverture du fichier.
C'est peut être la solution ... la moins tordue.
 

Pièces jointes

  • refresh (13).xlsm
    15.4 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 811
dernier inscrit
caroline29260