FormuleVBA Enregistré => En VBA Propre
Bonjour,
je souhaiterai récrire une vba ci dessous pour ressortir le chemin du fichier comme variable, attention le fichier dois rester fermer.
Range("q2") = "=INDEX('\\Reseau.net\entreprise\BUME\Prod\Decolletage_I\LOGISTIQUE\[Liste_Met.xlsm]CromQ'!C1:C29,MATCH(RC[-14],'\\Swatchgroup.net\ETA\BUME\Prod\Decolletage_I\LOGISTIQUE\[Liste_Met.xlsm]CromQ'!C4,0),1)"
si je peux utiliser Application.WorksheetFunction ou .Formula cela me semble plus facile pour introduire des variable mais je n'arrive pas l'écrire.
merci d'avance de votre aide
si jai bien compris Application.WorksheetFunction ne fonctionne pas avec un fichier fermer j'ai donc essayer avec formula et un simple rechercheV mais il y a quelque chose que je fait faux
cheminlisteMach = "\\serveur.net\entreprise\BUME\Prod\Decolletage_I\MANAGEMENT\01_AVOR\"
NomListeMach = "01_LISTE_MACHINES_DECOLLETAGE.xlsm"
ListMachFormule = "'" & cheminlisteMach & "[" & NomListeMach & "]" & "PROD'!"
Worksheets("CDE").Range("C011").Formula = "=VLookup(C6,& ListMachFormule & $B$3:$X$210,15,0)"
Bonjour,
Voici le code à utiliser selon ce que vous avez indiqué
Dim CheminListeMach As String, NomListeMach As String, ListMachFormule As String
CheminListeMach = "\\serveur.net\entreprise\BUME\Prod\Decolletage_I\MANAGEMENT\01_AVOR\"
NomListeMach = "01_LISTE_MACHINES_DECOLLETAGE.xlsm"
ListMachFormule = "'" & CheminListeMach & "[" & NomListeMach & "]" & "PROD'!"
Worksheets("CDE").Range("C11").FormulaLocal = "=RECHERCHEV(C6," & ListMachFormule & "$B$3:$X$210,15,Faux)"
A+
bonjour,
Merci pour la réponse, malheureusement cela ne fonctionne pas, si j'ai bien compris vous avez changer Formula par FormulaLocal cela est t'il necessaire ?? le problème avec FormulaLocal s'est qu'il travail que en dans la langue Local cela ne m'arrange pas car j'ai plusieurs collègue avec des langues differentes. La deuxième chose que j'ai repérer s'est les "" en plus avant et après la variable Juste ??
Malheureusement ses changements ne fonctionne pas il dois manquer quelque chose. a savoir que le code fonctionne ci dessous mais je sais pas comment je peux le transcrire pour y mettre une variable du chemin
Worksheets("CDE").Range("C010").Formula = "=VLookup(C6,'\\serveur.net\entreprise\BUME\Prod\Decolletage_I\MANAGEMENT\01_AVOR\[01_LISTE_MACHINES_DECOLLETAGE.xlsm]PROD'!$B$3:$X$210,15,0)"
merci pour votre soutien.
ok j'avance les deux méthode ci dessous fonctionne
Worksheets("CDE").Range("C012").Formula = "= VLOOKUP(C6,'\\serveur.net\entreprise\BUME\Prod\Decolletage_I\MANAGEMENT\01_AVOR\[" & NomListeMach & "]PROD'!$B$3:$X$210,15,0)"
Worksheets("CDE").Range("C012").Formula = "= VLOOKUP(C6,'" & CheminListeMach & "[" & NomListeMach & "]PROD'!$B$3:$X$210,15,0)"
Mais pas celle-ci
Worksheets("CDE").Range("C012").Formula = "= VLOOKUP(C6," & ListMachFormule & "PROD '!$B$3:$X$210,15,0)"
il dois y avoir un problème de syntaxe dans ma variable vous voyer mon erreur ??ListMachFormule = "'" & CheminListeMach & "[" & NomListeMach & "]"
Re,
A ma connaissance, "FormulaLocal" fonctionne peut importe la langue, Excel converti... du moins il me semble
Sinon, dans la formule qui ne fonctionne pas, l'espace après PROD est-il volontaire ?
"PROD '
Sinon le problème est là, je pense.
@+
S’est forcément ça merci vous avez l’œil je teste demain.
Étape 2
Est t’il possible de renvoyer directement la valeur du résultat de la formule dans la cellule co12 ou je dois faire un copier coller en valeur??
Merci encore
Re,
Pour cela, vous pouvez le faire en 2 étapes
Worksheets("CDE").Range("C012").Formula = "= VLOOKUP(C6," & ListMachFormule & "PROD'!$B$3:$X$210,15,0)"
Worksheets("CDE").Range("C012").Value = Worksheets("CDE").Range("C012").Value
@+
alors c'étais bien l'espace merci, j'ai refait le code au propre ca fonctionne nickel.
Sub RechercheV()
Dim Repertoire As String 'RepertoireDim NomFichier As String 'Nom du fichierDim FeuilleR As String 'Feuille de rechercheDim PlageR As String ' Plage de rechercheDim RepFichier As String ' chemin complet Repertoire + Nom du fichier + Nom Feuille recherche + Plage rechercheDim ColResult As Byte ' Numero de la collone de resulta
Repertoire = "\\Serveur.net\entreprise\BUME\Prod\Decolletage_I\MANAGEMENT\01_AVOR\"NomFichier = "01_LISTE_MACHINES_DECOLLETAGE.xlsm"FeuilleR = "PROD"PlageR = "$B$3:$X$210"RepFichier = "'" & Repertoire & "[" & NomFichier & "]" & FeuilleR & "'!" & PlageR & ""
'***Rercherche Matière Liste MachineWorksheets("CDE").Range("C10").Formula = "= VLOOKUP(C6," & RepFichier & ",15,0)"Worksheets("CDE").Range("C10") = Worksheets("CDE").Range("C10").Value
End Sub
Etape 3
Pouvons nous faire une recherche avec 2 critère avec une recherche dans deux colonne distingue ?? comme dans une formule Matriciel ??
ok j'ai fait des essai avec Index + Equiv car avec rechercheV je ne vois pas comment y mettre deux critère de recherche. voici mon essai comme dab il ne fonctionne pas.
Dim Repertoire As String 'Repertoire
Dim NomFichier As String 'Nom du fichier
Dim FeuilleR As String 'Feuille de recherche
Dim PlageR As String ' Plage de recherche
Dim CollR As String 'Colonne de recherche
Dim CollR2 As String 'Colonne de recherche 2
Dim RepFichier As String ' chemin complet Repertoire + Nom du fichier + Nom Feuille recherche + Plage recherche
Dim MesErreur As String 'Message si erreur
Dim Varcherche As String 'Var1 + Var2 de recherche
Dim CollCherche As String 'Colonne 1 + colonne 2 de recherche
Repertoire = "\\serveur.net\entreprise\BUME\Prod\00_CROM\"
NomFichier = "CROMDEC.xlsm"
FeuilleR = "Planning"
PlageR = "A:AJ"
RepFichier = "'" & Repertoire & "[" & NomFichier & "]" & FeuilleR & "'!" & PlageR & ""
CollR = "'" & Repertoire & "[" & NomFichier & "]" & FeuilleR & "'!U:U"
CollR2 = "'" & Repertoire & "[" & NomFichier & "]" & FeuilleR & "'!AB:AB"
Varcherche = Range("Machine").Value & "Planif"
CollCherche = CollR & CollR2
'***Rercherche Matière Liste Machine """Machine = Nom de cellule"""
Worksheets("CDE").Range("C13").Formula = "=IFERROR(Index(" & RepFichier & ",Match(" & Varcherche & "," & CollCherche & ",0),31)," & MesErreur & ")"