vba et rechercheV

philppe27

XLDnaute Occasionnel
Bonsoir,

J'ai un tableau dans une feuille excel.
Je voudrais faire une recherche verticale dans ce tableau pour alimenter une variable du style mais directement dans mon programme vba du genre:
x1=recherchev(x2,tableau,colonne)

Est ce possible et comment ?

Merci d'avance pour votre aide,

Cordialement
 

philppe27

XLDnaute Occasionnel
Re : vba et rechercheV

Mon fichier est très important il s'agit d'un fichier qui génère des bordereaux de livraison.
Il y a des fichiers de données notamment client dans une feuille.
Dans ces clients certains veulent recevoir leurs BL par mail
J'ai donc créer un répertoire dans lequel il y a les fichiers BL à envoyer par mail
Dans le nom du fichier j'ai le n° du client que j'extraie.
Avec ce n° de client je voudrais récupérer son adresse email dans la feuille client.
Voici le code que j'ai écrit:
Sub EnvoiMailBL()

Dim NomFich() As String, No As Integer, fich1 As String, chemin1 As String, mail1 As String, cli1 As String

No = 0 'lister les fichiers dans le répertoire
fich1 = "BL_*.xl*"
chemin1 = Sheets("Présentation").Range("K2")
ReDim NomFich(No)
NomFich(No) = Dir(chemin1 & fich1)
Do While NomFich(No) <> ""
No = No + 1
ReDim Preserve NomFich(No)
NomFich(No) = Dir()
Loop
For No = 0 To UBound(NomFich)
cli1 = Mid(NomFich(No), 25, 8) 'récupérer le n° du client dans le libellé du fichier
mail1 = ??? 'et récupérer l'adresse mail
'envoyer le fichier sur l'adresse mail

kfichier = chemin1 & NomFich(No) 'supprimer le fichier
Kill kfichier
Next

Est ce plus clair pour toi ?

End Sub
 

kjin

XLDnaute Barbatruc
Re : vba et rechercheV

Bonsoir,
Je ne pense pas que JC que je salue :), te demandais un fichier juste pour le fun; sans connaitre la structure de ton classeur, on ne sait ni ce que l'on cherche ni où chercher !
A quoi sert le tableau ? tu précises certains clients..., où récupère t-on la liste ? où trouve t-on les n°clients ? et leur mail ?
Code:
Sub EnvoiMailBL()
nFich = "BL_*.xl*"
Rep = Sheets("Présentation").Range("K2") & "\" 'antislash ou pas ???
pFich = Dir(Rep & nFich)
Do While pFich <> ""
    nClient = Mid(pFich, 25, 8) '??? nom à rallonge
    Set c = Range("A1:A100").Find(nClient) 'on cherche le n° illusoire
    If Not c Is Nothing Then
    MailClient = c.Offset(0, 1) 'si on trouve par hasard on renvoie le mail
pFich = Dir 'on passe au BL suivant sauf que c'est seulement certains clients
Loop

End Sub
kjin
 

Discussions similaires

Réponses
3
Affichages
237
Réponses
7
Affichages
488

Statistiques des forums

Discussions
312 594
Messages
2 090 091
Membres
104 374
dernier inscrit
cheick.coulibaly@dcsmali.