Microsoft 365 Copie d'une valeur dans cellule

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 !

Kstanisic

XLDnaute Nouveau
Bonjour à tous,

Je rencontre un soucis sur un de mes fichier excel VBA.
J'aimerais que mon code me permette d'aller chercher des informations dans deux tableaux différents.
En effet je veux que ma colonne O de mon onglet "matériel" se remplisse avec le code du site de ma colonne B de mon onglet "site" .
Pour ça il doit se référer aux libellés du site de l'équipement qu'on retrouve dans l'onglet "tableau" et à partir de là trouver le code du site dans l'onglet "site".

J'ai pensé à utiliser la fonction find mais je n'ai pas réussi. Si quelqu'un aurait la gentillesse de m'aider il me manque plus que cette partie pour finir mon fichier ...

Merci d'avance de votre aide et bonne journée à vous ! 🙂
 

Pièces jointes

Solution
Bonjour Kstanisic,
Je ne comprends pas pourquoi vous parlez de VBA et livré une PJ en xlsx. Vous voulez une solution en formule ou en VBA ?
En PJ un essai par formule avec en Matériel/O1 :
VB:
=SIERREUR(INDEX(site!B:B;EQUIV(RECHERCHEV(B1;TABLEAU!A:B;2;FAUX);site!C:C;0));"")
Le "Recherche" extrait le site en fonction du N° Equip, le "Equiv" trouve le lieu en fonction du site, et l' "Index" trouve le code par rapport à ce résultat.
Bonjour Kstanisic,
Je ne comprends pas pourquoi vous parlez de VBA et livré une PJ en xlsx. Vous voulez une solution en formule ou en VBA ?
En PJ un essai par formule avec en Matériel/O1 :
VB:
=SIERREUR(INDEX(site!B:B;EQUIV(RECHERCHEV(B1;TABLEAU!A:B;2;FAUX);site!C:C;0));"")
Le "Recherche" extrait le site en fonction du N° Equip, le "Equiv" trouve le lieu en fonction du site, et l' "Index" trouve le code par rapport à ce résultat.
 

Pièces jointes

Bonjour,

Effectivement je n'ai pas mis le fichier xlm car celui-ci était beaucoup trop lourd et comporte beaucoup de macro.
Votre solution me convient parfaitement !
Merci pour votre réactivité et du temps accordé

Bonne journée à vous
 
Re,
Sinon en VBA vous pouvez faire, ce qui est la même chose :
VB:
Sub Trouve()
    With Sheets("materiel")
        Application.ScreenUpdating = False
        Set Plage = .Range("O1:O" & Range("B65500").End(xlUp).Row)  ' Selection plage utile de "materiel"
        ' Colle formule
        Plage.FormulaR1C1 = _
        "=IFERROR(INDEX(site!C[-13],MATCH(VLOOKUP(RC[-13],TABLEAU!C[-14]:C[-13],2,FALSE),site!C[-12],0)),"""")"
        Plage.Value = Plage.Value   ' Copie colle valeurs
        .[A1].Select
    End With
End Sub
 

Pièces jointes

- 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
12
Affichages
432
Retour