Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 C'est tellement compliqué que je n'arrive pas à trouver un titre

lucarn

XLDnaute Occasionnel
Bonjour,
Voilà mon problème, j'ai une macro (fabriquée par Job) qui consiste à rassembler dans un onglet certaines données.
Ces données se mettent les unes en dessous des autres avec un espace entre les données prises dans chaque onglet.
Donc ça c'est fait.

Il s'agit de 2 lignes.
La première est le nom du programme
La seconde est le titre d'une action du programme.
Mais voilà : dans un programme il y a plusieurs actions.
Etant donné que chaque onglet correspond à une action, lorsque j'active la macro de job j'ai donc plusieurs fois le même programme disséminé dans la liste avec à chaque fois une action différente.

Je suppose que vous me voyez venir, et d'après moi, mon problème inextricable. Mais qui ne tente rien n'a rien...

Il s'agit qu'à chaque fois qu'un programme revient, le nom de ce programme ne soit collé qu'une fois.
Et que sous ce nom de programme viennent se coller les différentes actions.

Cela veut dire tri, classement et créations de lignes aléatoires.
Là, si vous y arrivez, ben, je bois un coup à votre santé.

Voici la macro de Job
Sub Rassembler_ActionsetProgrammes()
Dim adr$, lig&, decal&, w As Worksheet, mem
adr = "O10:U11" 'adresse à adapter
lig = 1 '1ère ligne de destination, à adapter
Application.ScreenUpdating = False
With Sheets("PROGRAMMES")
decal = .Range(adr).Rows.Count + 1 '1 ligne de séparation
.Rows(lig & ":" & .Rows.Count).Clear 'RAZ
For Each w In Worksheets
If UCase(w.Name) Like "F#*" Then
mem = w.Range(adr).Formula 'mémorise les formules
w.Range(adr) = w.Range(adr).Value 'supprime les formules
w.Range(adr).Copy .Cells(lig, 1) 'copier-coller
w.Range(adr) = mem 'restitution
lig = lig + decal
End If
Next
.Activate 'facultatif
End With
End Sub

Je vous mets un lien. Tout doit se mettre dans l'onglet RAPPORTS
 

Pièces jointes

  • Essai Actions et Programmes.xlsx
    18.8 KB · Affichages: 15

jmfmarques

XLDnaute Accro
Bonjour
Il n'y a en général aucune difficulté à donner un titre à une difficulté lorsqu'elle est parfaitement isolée.
tu n'en as que parce-que, apparemment, tu veux ouvrir une discussion non sur UNE difficulté, mais sur un ENSEMBLE de difficultés.
Je te suggère de les isoler et de les traiter une par une (et une par discussion) . Ce faisant : non seulement chacune de ces discussions pourra servir à d'autres, mais (cerise sur le gâteau) cette discipline elle-même te fera probablement le plus grand bien.
 
Dernière édition:

chris

XLDnaute Barbatruc
Bonjour

Une proposition PowerQuery

Elle nécessite de nommer au préalable la plage N1: P2 de chaque onglet
 

Pièces jointes

  • Actions et Programmes.xlsx
    33.6 KB · Affichages: 10
Dernière édition:

lucarn

XLDnaute Occasionnel
Tu as certainement raison mais mes tentatives pour transposer des macros ont quasiment toutes échouer parce que je n'y connais rien. Du coup, même si je comprends l'intérêt tout l'intérêt de ce que tu dis, je me sens totalement incapable de gérer un tel problème par la combinaison de plusieurs macros.
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, lucarn

•>lucarn
[baume au coeur]
Personne n'est nul ici.
Il y a ceux qui débutent et les autres
(Et les autres un jour (il y a longtemps pour certains) eux-aussi débutèrent
Donc pas d'auto-flagellation
(sauf si tu pratiques Excel tout vêtu de cuir ou de latex avec un fouet posé prés de ta souris )
[/baume au coeur]

Pour aller voir ce qu'est une plage nommée
Dans le classeur joint par chris, faire CTRL+F3
 

lucarn

XLDnaute Occasionnel
Merci pour le Ctrl F3.
Mais, je ne comprends pas très bien on met ce code dans l'onglet Rapports qui est l'onglet des résultats.
 

chris

XLDnaute Barbatruc
Bonjour à tous

A noter que les noms sont définis à partir de n'importe quel onglet mais de préférence (plus facile) à partir de l'onglet concerné)
Comme tu veux le voir dans le gestionnaire de noms, ils ont une portée classeur et non feuille

C'est PowerQuery qui va s'en servir en exploitant tous les noms.

Pour voir les requêtes PowerQuery onglet Données, Obtenir des données, Lancer l'éditeur PowerQuery

Un mini guide pour les principes Ce lien n'existe plus
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…