Récupérer des données

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

Jum_o

XLDnaute Junior
Bonjour,

Merci d'avance pour votre aide.

J'aimerais créer une macro permettant d'aller récuperer des informations de fichiers présents sur un même serveur.
Je m'explique:
Lorsque je veux récupérer des infos d'un nouveau fichier, il me suffira de remplir juste le nom du fichier et la macro ira chercher automatiquement ces infos. Un système d'incrémentation serait mis en place pour pouvoir récupérer plusieurs fichiers à la suite.

En PJ un exemple de ce à quoi j'aspire si je me suis mal fait comprendre.

Merci bcp pour votre aide.

Jum_o
 

Pièces jointes

Re : Récupérer des données

Me revoilou,

tu n 'as pas besoin de passer par un userform pour faire cela. Le code suivant va directement récupérer
le fichier écrit en E1.
Place ce code dans le bouton de la feuille:

Code:
Num = IIf([A65536].End(xlUp).Row = 14, 1, Val([A65536].End(xlUp).Value) + 1)
LigSuiv = [A65536].End(xlUp).Row + 1
Set Wb = GetObject([E1].Value)
With Wb.Sheets("Formulaire KP")
  Range("A" & LigSuiv).Value = Num
  Range("B" & LigSuiv).Value = .[D3].Value
  Range("C" & LigSuiv).Value = .[D5].Value
  Range("D" & LigSuiv).Value = .[D7].Value
  Wb.Close
End With
 
Re : Récupérer des données

Slt Skoobi,

le champ en E1, je ne dois pas le modifier, c'est vraiment le nom du doc que l'utilisateur va rentrer que la macro ira chercher. En gros en E1 on a juste le début du chemin, ce qu'il y a sur la userform est la fin du chemin...si tu vois ce que je veux dire.
 
Re : Récupérer des données

Re,

dans ce cas:

Code:
Private Sub CommandButton1_Click()
Num = IIf([A65536].End(xlUp).Row = 14, 1, Val([A65536].End(xlUp).Value) + 1)
LigSuiv = [A65536].End(xlUp).Row + 1
If TextBox1.Value = "" Then
      MsgBox ("Veuillez remplir un nom de document!")
Else
  If Dir([E1].Value & TextBox1.Value) <> "" Then
    Set Wb = GetObject([E1].Value & TextBox1.Value)
    With Wb.Sheets("Formulaire KP")
      Range("A" & LigSuiv).Value = Num
      Range("B" & LigSuiv).Value = .[D3].Value
      Range("C" & LigSuiv).Value = .[D5].Value
      Range("D" & LigSuiv).Value = .[D7].Value
      Wb.Close
    End With
  Else: MsgBox "Fichier inconnu!", vbExclamation
  End If
End If
End Sub
Petite précision: mettre uniquement le chemin en E1: \\toto\titi\
Mais si tu n'envisages pas de prévoir d'autre utilisation pour ce userform, je te suggère d'utiliser plutôt un InputBox.
 
- 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

Réponses
10
Affichages
1 K
Retour