Macro recherheV sans ouvrir le fichier lié

  • Initiateur de la discussion Initiateur de la discussion roidurif
  • 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 !

roidurif

XLDnaute Occasionnel
Bonjour,

Comment faire en sorte que dans le fichier de saisie la rechercheV fonctionne sans que second fichier de liaison soit ouvert.

L'idéal serai d'avoir une macro qui s’exécute en validant la saisie d'une donnée, par exemple en utilisant le code Target .

Merci de votre aide.
 
Re : Macro recherheV sans ouvrir le fichier lié

bonsoir,
Si la cellule de destination est aussi la cellule saisie (saisie et destination en A1 par exemple)...
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
tabSource = "'X:\xxx\xxx\[xxxxx.xls]Feuil1'!$A$1:$B$10"
If Target.Column = 1 Then
    Application.EnableEvents = False
    With Target
        .Formula = "=VLOOKUP(""" & Target & """," & tabSource & ",2,0)"
        .Value = .Value
    End With
    Application.EnableEvents = True
End If
End Sub
....si la cellule de destination est adjacente à la cellule de saisie (saisie en A1, destination en A2 par exemple)..
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
tabSource = "'X:\xxx\xxx\[xxxx.xls]Feuil1'!$A$1:$B$10"
If Target.Column = 1 Then
    With Target.Offset(0, 1)
        .Formula = "=VLOOKUP(" & Target.Address & "," & tabSource & ",2,0)"
        .Value = .Value
    End With
End If
End Sub
...sans oublier de remplacer les paramètres du tableau source et d'adapter la formule
A+
kjin
 
Re : Macro recherheV sans ouvrir le fichier lié

Bonjour,

Merci pour votre proposition, j’ai adapté votre code à mon fichier. J’ai blocage sur la ligne suivante

Code:
.Formula = "=VLOOKUP(" & Target.Address & "," & tabSource & ",2,0)"

puis j'ai essayé cela pareil :

Code:
.Formula = "=VLOOKUP(" & Target.Address(0, 0) & "," & tabSource & ",2,0)"

Es-ce que j’ai oublié quelque chose ?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
tabSource = "'D:\Documents and Settings\abel\Mes documents\3- iProc\7- Extractions\2- Intr@cha\[Extraction USERS LOTUS.xls]Carnet d'adresses'!$A$1:$B$10"
If Target.Column = 1 Then
    With Target.Offset(0, 1)
        .Formula = "=VLOOKUP(" & Target.Address(0, 0) & "," & tabSource & ",2,0)"
        .Value = .Value
    End With
End If
End Sub
 

Pièces jointes

Re : Macro recherheV sans ouvrir le fichier lié

Bonjour,
Il faut toujours éviter les espaces, apostrophes, accents et autres fioritures inutiles pour nommer les feuilles excel et utiliser des noms simples, courts et concis , ça évite bien des emm...par la suite !
Ici en l'occurrence, du coup il manque une quote (en rouge)
....
tabSource = "'D:\Documents and Settings\aboulayo\Mes documents\3- iProc\7- Extractions\2- Intr@cha\[Extraction USERS LOTUS.xls]Carnet d''adresses LDE'!$A$1:$B$10"
....
Tu aurais simplement nommé ta feuille Adresses_LDE...mais bon
A+
kjin
 
Dernière édition:
Re : Macro recherheV sans ouvrir le fichier lié

Bonjour kjin,

Merci kjin,

Effectivement, c’était dû à une quote manquante

Cela fonctionne bien lorsque le deuxième fichier en liaison est ouvert, par contre si celui-ci est fermé alors la macro reste bloqué sur la ligne.

.Formula = "=VLOOKUP(" & Target.Address & "," & tabSource & ",2,0)"

En résultat, la macro recherheV sans ouvrir le fichier lié ne fonctionne pas correctement. Peut-être que c'est normal?
 
- 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

Retour