rechercheh ou index/equiv Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
teten1
Membre fidèle
Membre fidèle
Messages : 324
Appréciations reçues : 17
Inscrit le : 13 avril 2016
Version d'Excel : 2010

Message par teten1 » 14 mars 2018, 12:44

Bonjour tout le monde,
Me revoilà avec une nouvelle problématique...
J'ai une extraction dans un onglet nommé "données extraites" celles-ci apparaissent dans une seule colonne les unes derrières les autres ...
Je voudrais pouvoir "transférer" ces données dans un tableau (onglet "tableau") de façon automatique.
La rechercheh ne fonctionne pas et je ne maîtrise pas INDEX/EQUIV...

Peu importe que dans une colonne je me retrouve avec des fois le n° de tel ou le mail... je m'en accommoderais... l'idée est que j'ai en ligne toutes les données de la société concernée...

D'avance, merci à tous
extraction.xlsx
(9.87 Kio) Téléchargé 16 fois
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 9'453
Appréciations reçues : 428
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 14 mars 2018, 13:09

Bonjour,

une solution via une macro

Sub aargh()
    With Sheets("données extraites")
        Set wst = Sheets("tableau")
        wst.Range("A2:H1000").ClearContents
        dl = .Cells(Rows.Count, 1).End(xlUp).Row 'dl dernière ligne données extraites
        i = 1 'i pointeur de ligne données extraites
        k = 1 'k pointeur de ligne tableau
        soctrouve = False 'nom de société trouvé vrai/faux
        While i <= dl ' on parcourt toutes les lignes de données extraites
            If .Cells(i, 1) <> "" Then 'si ligne contient une donnée
                If soctrouve Then ' si nom de société trouvé
                    col = col + 1'on incrémente n° de colonne
                    'If InStr(.Cells(i, 1), "@") <> 0 Then col = 5 'si mail trouvé on le met en colonne 5
                    donneetrouvee = True 'on a trouvé une donnée après le nom de la société
                Else 'si nom de société non trouvé
                    soctrouve = True 'on fait l'hypothèse que la donnée sur cette ligne est le nom de société
                    k = k + 1 'on incrémente le n° de ligne de tableau
                    col = 1 'on se positionne sur la première colonne
                    donneetrouvee = False 'on n'a pas encore trouvé de donnée pour cette société
                End If
                wst.Cells(k, col) = .Cells(i, 1) 'on copie l'info de données extraites vers tableau en ligne k colonne col
            ElseIf donneetrouvee And soctrouve Then 'si on trouve une ligne blanche après avoir trouvé des données de société
                soctrouve = False 'on fait l'hypothèse que l'on a terminé de traiter les données de cette société
                donneetrouvee = False
            End If
            i = i + 1 'on passe à la ligne suivante
        Wend
    End With
End Sub
Modifié en dernier par h2so4 le 14 mars 2018, 13:51, modifié 1 fois.
1 membre du forum aime ce message.
Avatar du membre
teten1
Membre fidèle
Membre fidèle
Messages : 324
Appréciations reçues : 17
Inscrit le : 13 avril 2016
Version d'Excel : 2010

Message par teten1 » 14 mars 2018, 13:27

Bonjour et merci beaucoup h2so4...
c'est nickel...
Christelle
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 9'453
Appréciations reçues : 428
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 14 mars 2018, 13:32

Bonjour,

content que cela fonctionne bien !
Modifié en dernier par h2so4 le 14 mars 2018, 13:41, modifié 1 fois.
Avatar du membre
teten1
Membre fidèle
Membre fidèle
Messages : 324
Appréciations reçues : 17
Inscrit le : 13 avril 2016
Version d'Excel : 2010

Message par teten1 » 14 mars 2018, 13:37

Arf... tu as eu le temps de voir mon message avant que je le modifie...
J'ai changé mon extraction en enlevant les lignes vides .... du coup ta macro marche nickel.
Merci beaucoup encore tu peux pas savoir combien je suis soulagée...
p
patrick1957
Passionné d'Excel
Passionné d'Excel
Messages : 3'121
Appréciations reçues : 33
Inscrit le : 24 août 2015
Version d'Excel : 2007-2010-2016 PC

Message par patrick1957 » 14 mars 2018, 13:40

Bonjour,

j'arrive après le très bon code de H2 (que je salue), mais je dois dire que dans un cas pareil, un index/equiv n'aurait servi à rien (ceci dit cette combinaison de fonction est facile à comprendre et + souple de rechercheV/H.


P.
Je fais du géocaching et vous ?
Indentez vos codes VBA, ---> http://www.oaltd.co.uk/Indenter/Default.htm
A lire pour les débutants: http://www.xlerateur.com/divers/2010/05 ... nnees-612/
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 9'453
Appréciations reçues : 428
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 14 mars 2018, 13:41

Bonjour,

un petit bonus possible, si tu actives la ligne en commentaire.
Avatar du membre
teten1
Membre fidèle
Membre fidèle
Messages : 324
Appréciations reçues : 17
Inscrit le : 13 avril 2016
Version d'Excel : 2010

Message par teten1 » 14 mars 2018, 13:49

@patrick1957...
"cette combinaison de fonction est facile à comprendre et + souple de rechercheV/H"... je me doute bien mais je ne comprends pas, même avec les cours sur ce site.... je fais un blocage pur et dur...

Merci à tous encore une fois...
p
patrick1957
Passionné d'Excel
Passionné d'Excel
Messages : 3'121
Appréciations reçues : 33
Inscrit le : 24 août 2015
Version d'Excel : 2007-2010-2016 PC

Message par patrick1957 » 14 mars 2018, 13:51

teten1 a écrit :
14 mars 2018, 13:49
@patrick1957...
"cette combinaison de fonction est facile à comprendre et + souple de rechercheV/H"... je me doute bien mais je ne comprends pas, même avec les cours sur ce site.... je fais un blocage pur et dur...

Merci à tous encore une fois...
Si tu veux un exemple ...
je peux te faire ça :)

P.
1 membre du forum aime ce message.
Je fais du géocaching et vous ?
Indentez vos codes VBA, ---> http://www.oaltd.co.uk/Indenter/Default.htm
A lire pour les débutants: http://www.xlerateur.com/divers/2010/05 ... nnees-612/
Avatar du membre
teten1
Membre fidèle
Membre fidèle
Messages : 324
Appréciations reçues : 17
Inscrit le : 13 avril 2016
Version d'Excel : 2010

Message par teten1 » 14 mars 2018, 14:18

avec plaisir oui
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message