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 : 8'978
Appréciations reçues : 359
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 : 8'978
Appréciations reçues : 359
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'150
Appréciations reçues : 31
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 : 8'978
Appréciations reçues : 359
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'150
Appréciations reçues : 31
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 Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message
  • rechercheh, index horizontal & premiere cellule pleine
    par Pab86 » 28 septembre 2017, 18:29 » dans Excel - VBA
    2 Réponses
    97 Vues
    Dernier message par Pab86
    28 septembre 2017, 20:35
  • Index / Equiv
    par naio » 22 octobre 2019, 16:45 » dans Excel - VBA
    4 Réponses
    40 Vues
    Dernier message par naio
    22 octobre 2019, 17:08
  • Index + equiv
    par ruliann » 18 avril 2018, 13:18 » dans Excel - VBA
    3 Réponses
    258 Vues
    Dernier message par ruliann
    20 avril 2018, 17:46
  • Index Equiv
    par brunyon » 27 juin 2014, 21:44 » dans Excel - VBA
    3 Réponses
    199 Vues
    Dernier message par brunyon
    28 juin 2014, 21:02
  • Index equiv
    par JP54 » 29 novembre 2019, 15:55 » dans Excel - VBA
    8 Réponses
    97 Vues
    Dernier message par JP54
    30 novembre 2019, 16:25
  • Index Equiv
    par Botis » 23 octobre 2019, 15:17 » dans Excel - VBA
    6 Réponses
    74 Vues
    Dernier message par Botis
    23 octobre 2019, 18:32