Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Rechercher la ligne d'un tableau et mettre à jour une cellule VBA

bluesky12000

XLDnaute Junior
Bonsoir à tous,

Je cherche à exécuter, à la fermeture d'un classeur, une macro pour rechercher si dans un tableau d'un autre classeur la valeur d'une cellule correspond bien à celle d'une case dans le classeur où se trouve cette macro.
La difficulté est d'identifier la bonne ligne dans le tableau car la valeur recherchée est assez commune. J'ai donc ajouté un code unique composé de 5 cellules du tableau dans la dernière colonne.
Avec la formule INDEX j'arrive à retrouver la valeur de cette cellule à modifier et en rajoutant la fonction cellule devant j'arrive à avoir les coordonnées de cette cellule.

En VBA je ne sais pas comment écrire cette formule (Pour simplifier on va dire que L25 est dans book1, sheet1).

=CELL("address";INDEX('book2.xlsx'!BDDProjets[#Data];MATCH(L25;'book2.xlsx'!BDDProjets[Cod];0);12))

Ensuite ce serait quelque chose comme la cellule du résultat si dessus doit être égale à F4 (book1, sheet1).

Pour l'instant j'ai contourné les choses en gardant ma formule dans excel et en créant ce macro :

VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)


Dim w1 As Workbook
Dim w2 As Workbook
Dim x As String


Set w1 = ThisWorkbook




Workbooks.Open Filename:="C:\Users\Clément\Desktop\Suivi des projets.xlsx"


Set w2 = Workbooks(Workbooks.Count)


w2.Sheets(1).Unprotect


x = w1.Sheets(1).Range("L25").Value


w2.Sheets(1).Range(x).Value = w1.Sheets(1).Range("F4")


w2.Sheets(1).Protect


w2.Close True


End Sub



Merci beaucoup pour votre aide
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…