Besoin d'aide, recherche et adresse cellule dans matrice

Bonjour a tous,
Je suis actuellement en thèse de biologie, et j’aurais besoin de votre aide.
Cela fait plusieurs heures que je m’arrache les cheveux à essayer d’utiliser l’ensemble des fonctions recherche sans obtenir le résultats que je souhaite.
Voilà ma situation :
j’ai créer un plan d’expérience où chaque case représente un de mes individus numéroté de la sorte, les numéros correspondant à la position dans mon plan :
image
Ensuite j’ai attribué de manière aléatoire des numéro (sans doublon) à mes individus
image

Mon objectif serait d’ajouter une colonne à mon tableau avec la position en ligne et en colonne de mon individu sur mon plan, en allant chercher son numéro de position dans le plan et renvoyant son adresse. Pour ensuite m’y retrouver plus facilement dans mon expérimentation (1200 individus).

J’ai essayé les fonctions index() et equiv () mais je n’arrive pas à obtenir ce que je souhaite, et mes compétence en VBA sont malheureusement très limité et j’aimerai éviter d’y avoir recourt.

En espérant ne pas avoir été trop flou

cordialement

Mathias

Bonsoir,
Une solution est peut-être possible sans VBA mais sans classeur de travail et avec des IMAGES sur un forum EXCEL :-1:

Bonjour!

Pourrais tu si possible inclure un fichier d’exemple?

Merci et à bientôt

bonjour,
Veuillez m’excuser je vous joins un fichier d’exemple.Classeur_exemple.xlsx (14,0 Ko)

Bonjour,
A tester

La MACRO:

Sub Cherche()
'Déclaration des variables
Dim i%, j%, No%, Dl%
Dl = Range("A" & Rows.Count).End(xlUp).Row 'n° de la dernière ligne non vide de la colonne A
Sheets("Feuil2").Range("E2:E" & Dl).ClearContents 'efface les adresses feuil2
  For No = 2 To Dl '1ère boucle sur la colonne E feuil2
    For i = 2 To 21 '2ème boucle ligne feuil plan
      For j = 2 To 10 '3ème boucle colonne plan
        If Sheets("plan").Cells(i, j).Value = Sheets("Feuil2").Cells(No, 4).Value Then 'Si le chiffre est trouvé
          Sheets("Feuil2").Cells(No, 5).Value = Sheets("plan").Cells(i, j).Address 'renseigne sur Feuil2 son adresse
        End If
      Next j
    Next i
  Next No
End Sub

Classeur_exemple.xlsm (25,1 Ko)

1 J'aime

Bonjour @Mathias_Frontini,
Salut @Mimimathy, :wink:

Pour le fun, une proposition par formule:

Nommer le “Tableau” dans le “Gestionnaire de noms”.

Puis en “E2”

=SIERREUR(ADRESSE(MIN(SI(Tableau=$D2;LIGNE(Tableau)));MIN(SI(Tableau=$D2;COLONNE(Tableau))));"")

Formule matricielle a valider avec ctrl + maj + entrée
Tirer vers le bas autant que nécessaire.

Fichier ICI==> Classeur_exemple.xlsx (21,0 Ko)

Cordialement.

1 J'aime

Salut MDO

Ah la fonction DECALER, pas toujours évident :smile:

Avec cette formule dans le gestionnaire de noms, c’est mieux

=DECALER(plan!$B$2:$J$2;;;NBVAL(plan!$B:$B))

On ne prend avec NBVAL qu’une colonne, celle qui est remplit du haut en bas sans cellule vide,
le -1, est mis en place simplement si il y a un titre en ligne 1, mais comme tu pars de la ligne 2 , NBVAL compte le NB cellule non vide de la colonne B.
S’il y avait un titre, il aurait fallu ce -1 pour déduire une valeur :wink:

1 J'aime

merci à tous, vous m’avez bien aidé, mon problème est résolu

Bonne journée

Bonjour

Si ton problème est résolu, peux-tu stp cocher le petit :white_check_mark: sous le message qui contient la solution stp?

Cela nous aide à déterminer qui a encore besoin d’aide et qui est sauvé!

Merci