Transformé une formule Excel en script VBA ?
Bonjour,
J'aimerais transformé cette formule :
=RECHERCHEV(CONCATENER(L(2)C;CONCATENER("-";DROITE(L(1)C;2)));annuaire;2;0)
en script VBA
la formule permet de concatener les deux cellules sous elle meme puis d'aller chercher dans un onglet annuaire la valeur de la seconde colonne de cette onglet en fonction du resultat de la concatenation.
ex:
ma formule est ici "formule"
la cellule N-1 est "N01"
la cellule N-2 est "0-00"
la concatenation donne la valeur "0-00-01"
comme le tableau "annuaire" contient :
cellule 1 cellule 2
0-00-01 4546
la fonction me retourne 4546
merci de votre aide
:cry:
je progresse doucement......
J'ai un peu changé mon fusil d'épaule je suis donc arrivé au code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
Option Explicit
Sub Commentaires()
Dim Cell
For Each Cell In ActiveSheet.UsedRange
If Cell.HasFormula Then
With Cell
On Error Resume Next
If InStr(Worksheets("annuaire").Value, Cell.Value) <> 0 Then
.Comment.Delete
.AddComment
.Comment.Text Text:=Cell.Value & Chr(10) & "Nom" & "Prénom" & Chr(10) & "Adresse m@il"
.Comment.Shape.TextFrame.AutoSize = True
Else
MsgBox "valeur non trouvée"
End If
End With
End If
Next
End Sub |
Avec ce bout de code, je cré un commentaires dans les cellulles où il y a des formules et si la valeur de la cellule est contenu dans la feuille Annuaire j'affiche cette valeur dans le commentaire.
Mais je voudrais ajouter dans mon commentaire les champs nom prenom et adresse qui sont les valeurs des cellules à coté de la valeur trouvé dans la feuille annuaire.
EX :
Si la Cellule 12 de la feuille 1 à pour valeur 3022
et que La feuille Annuaire possède une ligne:
3022|dupont|jean|jdupont@babacool.fr|
Je voudrais que le commentaire de la Cellule 12 de la feuille 1 soit :
3022
dupont jean
jdupont@babacool.fr
Je suppose que c'est .find qui doit faire l'affaire mais je ne vois pas comment ????
Par avance Merci de ton aide conconbrr
:mrgreen: