Recherche matrice et récupérer donnée d'une cellule

kosse

XLDnaute Nouveau
[résolu] Recherche matrice et récupérer donnée d'une cellule

Bonjour,

après une longue nuit je m'avoue vaincu pour ce soir.
Mes connaissances en excel sont plus que limitées et je bute sur le(s) souci(s) suivant(s):

Dans un classeur j'ai créé deux feuilles, un TEAM et un autre PLAN

Mon premier contient 2 à trois colonnes

PRENOM - NOM - POSITION
Julien - xxx - Directeur

Mon deuxième des cellules éparpillées dans la feuille,
contenant les PRENOM et une cellule avec une REFERENCE, celle-ci étant toujours EN_DESSOUS (même colonne) que le nom.
Julien
DB987-42

Jusque là j'y arrive...

J'ai mis une formule (ai 0 connaissance de VB) dans ma feuille TEAM en ajoutant une colonne EMPLACEMENT qui fonctionne et me donne comme résultat si le PRENOM est présent ou non dans la feuille PLAN.

la formule en question:
Code:
=SI(NB.SI(PLAN!A1:BF408;A2)=0;"Not assigned";"Assigned")

J'ai aussi une mise en forme conditionnelle qui est ok :p

Ensuite, j'aimerais (et c'est là que je coince) reprendre dans une autre colonne la référence de façon automatique qui est couplée au nom trouvé. C-à-d si Jules est présent dans la feuille PLAN alors la colonne N° (ou référence) prend la référence depuis la feuille PLAN et l'insère dans TEAM.

J'y suis arrivé en le faisant 'à la main' avec ceci:
Code:
=RECHERCHEH(A2;PLAN!G73:G74;2;VRAI)

Mais l'idée c'est que ce code s'actualise automatiquement si je déplace les noms (un prénom n'est pas lié à un code, les codes servent à identifier l'endroit de l'emplacement), puisque chaque nom sera placé au-dessus d'une référence.

Voilà, c un peu confus mais entre les rechercheV, INDEX, rechercheH et tutti quanti je me perds. Si quelqu'un pouvait m'orienter, je sens que je touche au but. Merci bcp.
 

Pièces jointes

  • Classeur1.xls
    20 KB · Affichages: 99
  • Classeur1.xls
    20 KB · Affichages: 101
  • Classeur1.xls
    20 KB · Affichages: 106
Dernière édition:

mromain

XLDnaute Barbatruc
Re : Recherche matrice et récupérer donnée d'une cellule

bonjour kosse,

voici une solution par macro.
le code est à déposer "sur l'onglet TEAM" : clic droit --> Visualiser le code, puis coller le code suivant :
Code:
'la macro "Worksheet_Activate" s'exécute automatiquement lorsqu'on active l'onglet
'(lorsqu'on passe d'un onglet XXX à celui sur lequel est mis ce code ("TEAM"))
Private Sub Worksheet_Activate()

'declaration des variables
Dim i As Integer, celluleRecherche As Range

'boucler sur tous les prénoms saisis dans cette feuille (de la ligne 3 à la dernière saisie)
For i = 3 To Range("A" & Rows.Count).End(xlUp).Row
    'chercher le prénom (cellule "Ai") dans la feuille "PLAN"
    Set celluleRecherche = Sheets("PLAN").Cells.Find(Range("A" & i), , xlValues, xlWhole)
    'si rien n'est trouvé (not assigned)
    If celluleRecherche Is Nothing Then
        'effacer la cellule "Fi"
        Range("F" & i).ClearContents
    'sinon
    Else
        'écrire la ref en "Fi" (cellule en dessous de la celluleRecherche
        Range("F" & i) = celluleRecherche.Offset(1, 0)
    End If
Next i
End Sub

a+
 

kosse

XLDnaute Nouveau
Re : Recherche matrice et récupérer donnée d'une cellule

Merci mromain,

je l'ai installé (clic droit), mais ai du louper qq chose.
Je termine ma journée de travail et regarde cela de plus près (merci bcp pour les commentaires dans ton code, cela m'aide à comprendre), notamment mes macros qui ne s'activent pas (alors que je les ai mis sur niveau de sécurité le plus bas). Bref, il me reste un long chemin à faire sous excel :eek:

Dans tous les cas merci (je me répète mais j'apprécie vraiment après une nuit blanche à chercher) pour le temps que tu y as consacré.
A+
kosse

[Update] Merci encore mromain, la macro fonctionne à merveille, quand on passe d'une feuille à l'autre le colonne F s'actualise comme par miracle! Résolu!
 
Dernière édition:

Discussions similaires

Réponses
22
Affichages
754
Réponses
56
Affichages
1 K
Réponses
36
Affichages
2 K

Statistiques des forums

Discussions
312 165
Messages
2 085 882
Membres
103 011
dernier inscrit
rine