XL 2019 récupération automatique de données

  • Initiateur de la discussion Initiateur de la discussion serras
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

serras

XLDnaute Occasionnel
Bonjour

Après plusieurs essais infructueux je sollicite la communauté pour trouver la solution à mon problème.

J'ai un fichier de données avec beaucoup de colonnes et je souhaiterais la simplifier en ne reprenant que les cellules non vides.

J'ai créé un fichier test en PJ qui illustre le cas. Sur la Feuil2 toutes les infos brutes. Sur la feuil1 mon objectif de présentation allégées (dans le vrai fichier les plages sont plus importantes : pas 3 colonnes mais une vingtaine)

Merci de votre aide.

(je suis sur Excel Microsoft Office professionnel Plus 2019)

Lou.
 

Pièces jointes

Bonjour

dans ta feuille1, tu n'as pas rempli les colonnes attendues..
pour Pierre, en feuille 2, il y a 3 colonnes sur 6 (vertes) remplies
en feuille1, il n'y a que 3 colonnes ==> Quelles infos vont ou?
Que se passe t il si il y a 6 colonnes remplies?
 
Bonjour @serras et Vincent

@serras

dans le vrai fichier les plages sont plus importantes : pas 3 colonnes mais une vingtaine

Il serait plus facile pour pouvoir transposer nos solutions que ton fichier de test soit représentatif

C'est quoi représentatif ?

- représentatif, même organisation des lignes et des colonnes, mêmes libellés, même nom des TS, mêmes noms de feuilles...
- anonymisé, pas de données personnelles réelles tels nom, n° sécu, adresse ... remplacé par Nom1, Nom2 etc ....
- simplifié, une quinzaine de lignes reproduisant l'ensemble des différents cas envisageables (Avec le résultat souhaité éventuellement)

Si cela fonctionne sur le fichier fourni et pas sur le vrai fichier c'est qu'il n'est en rien représentatif ou que tu n'as pas su transposer ce qui devrait être un simple copier coller du code.
 
Bonjour Serras, Vgendron, Phil,
Avec le peu que j'ai compris, mais au moins on saura ce qui ne va pas :
La macro s'exécute lorsqu'on sélectionne la Feuil1 :
VB:
Sub Worksheet_Activate()
Dim DL%, DC%, L%, C%, Col%
Application.ScreenUpdating = False
With Sheets("Feuil2")
    DL = .[A10000].End(xlUp).Row
    DC = .Cells(1, Columns.Count).End(xlToLeft).Column
    [A2:Z1000].ClearContents
    For L = 2 To DL
        Col = 0: Cells(L, "A") = .Cells(L, "A")
        For C = 2 To DC
            If Left(.Cells(1, C), 7) = "DOMAINE" Then
                If Col = 0 Then Col = 2 Else Col = Col + 3
                Cells(L, Col) = .Cells(L, C)
            Else
                If Left(.Cells(1, C), 10) = "si domaine" Then
                    If .Cells(L, C) <> "" Then Cells(L, Col + 1) = Cells(L, Col + 1) & "," & .Cells(L, C)
                    If Left(Cells(L, Col + 1), 1) = "," Then Cells(L, Col + 1) = Mid(Cells(L, Col + 1), 2)
                Else
                    If .Cells(L, C) <> "" Then Cells(L, Col + 2) = Cells(L, Col + 2) & "," & .Cells(L, C)
                    If Left(Cells(L, Col + 2), 1) = "," Then Cells(L, Col + 2) = Mid(Cells(L, Col + 2), 2)
                End If
            End If
        Next C
    Next L
End With
Columns.AutoFit: Rows.AutoFit
End Sub
 

Pièces jointes

Bonjour

dans ta feuille1, tu n'as pas rempli les colonnes attendues..
pour Pierre, en feuille 2, il y a 3 colonnes sur 6 (vertes) remplies
en feuille1, il n'y a que 3 colonnes ==> Quelles infos vont ou?
Que se passe t il si il y a 6 colonnes remplies?
désolé. il n'y a que la premier colonne de chaque bloc couleur qui comporte toujours une info ( à savoir B H et N dans feuil2)
pour les "si domaine X xsur quel sujet" il ne peut y avoir qu'une cellule remplie ou aucune
pour les "si autre domaine lequel" il ne peut que y avoir une ou aucune mais jamais 2

j'espère avoir été plus clair
 
Bonjour @serras et Vincent

@serras



Il serait plus facile pour pouvoir transposer nos solutions que ton fichier de test soit représentatif

C'est quoi représentatif ?

- représentatif, même organisation des lignes et des colonnes, mêmes libellés, même nom des TS, mêmes noms de feuilles...
- anonymisé, pas de données personnelles réelles tels nom, n° sécu, adresse ... remplacé par Nom1, Nom2 etc ....
- simplifié, une quinzaine de lignes reproduisant l'ensemble des différents cas envisageables (Avec le résultat souhaité éventuellement)

Si cela fonctionne sur le fichier fourni et pas sur le vrai fichier c'est qu'il n'est en rien représentatif ou que tu n'as pas su transposer ce qui devrait être un simple copier coller du code.
la seule différence avec le vrai fichier c'est que les colonnes "si domaine xx sur quel sujet ?" sont une quinzaine et non 3
merci de votre aide
 
@serras

Pose toi la question pourquoi tu n'as pas/plus de réponses ?

Tout simplement parce que le fichier que tu as fourni n'est pas représentatif 😳

la seule différence avec le vrai fichier c'est que les colonnes "si domaine xx sur quel sujet ?" sont une quinzaine et non 3
La seule différence c'est que cela ne fonctionnera qu'avec le fichier fourni mais pas avec ton vrai fichier !!!

C'est pour cela que l'on demande un fichier représentatif !!
Relire mon post #3

Bonne lecture
 
Rebonjour à tous

Je vous communique en PJ un fichier qui correspond à la demande exactement. En Feuil2 les données brutes, en Feuil1 la manière dont je souhaiterais qu'elles puissent être présentées. L'objectif est de concentrer les blocs couleurs ( dans les données brutes : pour les "si domaine X xsur quel sujet" il ne peut y avoir qu'une cellule remplie ou aucune / pour les "si autre domaine lequel" il ne peut que y avoir une ou aucune mais jamais 2)

Tout cela part d'un questionnaire en ligne construit d'une manière pas adaptée à l'exploitation des données.

Merci pour votre aide et désolé de ne pas avoir été clair dans ma première demande
 

Pièces jointes

Désolé de ne pas avoir été assez précis dans ma deuxième demande. Je l'ai formulée parce que la macro proposée par Sylvanu fonctionne parfaitement mais sur un fichier qui n'a pas le format du vrai

Je retiendrai la leçon : le vrai fichier dès le début tu proposeras. Du travail inutile aux XLDnautes tu éviteras.
 
Re,
Effectivement ça n'a rien à voir.
Un essai en PJ avec :
VB:
Sub Worksheet_Activate()
On Error GoTo Fin
Application.ScreenUpdating = False
Cells.Clear                                             ' effacement Feuil1
With Sheets("Feuil2")
    DL = .[A10000].End(xlUp).Row                        ' Dernière ligne
    DC = .Cells(3, Columns.Count).End(xlToLeft).Column  ' Dernière colonne
    .[A1].CurrentRegion.Copy
    Range("A1").Select: ActiveSheet.Paste: [A1].Select  ' On duplique la zone utile de Feuil2 vers Feuil1
End With
Dim Tablo(1 To 4)
Tablo(1) = Application.Match("Quel est votre 1er domaine de compétence ?", [3:3], 0)    ' Contient colonne Compétences 1
Tablo(2) = Application.Match("Quel est votre 2ème domaine de compétence ?", [3:3], 0)   ' 2
Tablo(3) = Application.Match("Quel est votre 3ème domaine de compétence ?", [3:3], 0)   ' 3
Tablo(4) = Application.Match("Souhaitez-vous indiquer un domaine d'activité ou de compétence supplémentaire, voire le cas échéant, des fonctions antérieures et/ou transverses ", [3:3], 0) ' Contient colonne de Fin
For N = 1 To 3
    For L = 4 To DL
        For i = Tablo(N) + 1 To Tablo(N + 1) - 2 ' -2 car les colonnes utiles sont 2 colonnes avant le titre suivant
            If Cells(L, i) <> "" Then
                Cells(L, Tablo(N) + 1) = Cells(L, i)
                Exit For
            End If
        Next i
    Next L
Next N
For N = 3 To 1 Step -1 ' On supprime les colonnes
    Range(Cells(1, Tablo(N) + 2), Cells(1, Tablo(N + 1) - 2)).EntireColumn.Delete ' +2 colonne aprés titre à -2 colonnes avant titre suivant
Next N
Application.Goto Reference:=[A1], scroll:=True
Fin:
End Sub
En espérant peut être une réponse ça marche/ça marche pas.
 

Pièces jointes

(re) bonjour

Le principe fonctionne à l’exception d'un point : dans le feuil1 qui synthétise, la colonne "Si autre (sous-domaine x), merci de préciser ?" n'est pas reprise (chaque bloc couleur a en principe 4 colonnes, dans le fichier test v3 il n'y en a que 3)

Merci de votre aide
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
326
Réponses
10
Affichages
563
Retour