• Initiateur de la discussion Initiateur de la discussion philppe27
  • Date de début Date de début

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 !

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
 
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
 
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
 
- 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

  • Question Question
Microsoft 365 Tableau
Réponses
5
Affichages
288
Retour