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

guez

XLDnaute Nouveau
Bonjour,

Le code ci-dessous fonctionne bien si la cellule source de la variable contient une seule info (ex: 12) mais ne fonctionne pas si la valeur est "12 Fr". C'est donc au niveau de la définition des variables ques ça plante parfois.
Comment completer mon code svp.

Merci pour votre aide

Code:
Sub recup()
Range("A1").Select 'sélectionner la cellule de début
Chemin = "Personnel"
fichier = Dir(Chemin & "*.xls")
Do While fichier <> ""
Workbooks.Open Filename:=Chemin & fichier

Dim Effectif As Integer, NumGestion As Integer
Effectif = Sheets("BALANCE").Range("D89")
NumGestion = Sheets("PARAMETRES").Range("D9")
    
ThisWorkbook.Activate
ActiveCell.Value = Effectif
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = NumGestion

Windows(fichier).Close savechanges:=False
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
fichier = Dir ' Fichier suivant
Loop
End Sub
 
Dernière édition:
Re : Code VBA incomplet

Code:
fichier = Dir(chemin & "*????-????-??.xls")

ça fonctionne bien. C top merci bcp.
C'est trés réactif sur ce forum, jsuis happy^^^

Surtout que là c'est la partie la plus facile de ma macro, le plus compliqué reste à venir, j'aurais certainement encore besoin de vos lumières. J'ai déjà appris bcp de truc auj.

MERCI
 
Dernière édition:
Re : Code VBA incomplet

Une dernière question pour aujourd'hui:

Le chemin d'accès aux fichiers dépends du mois et de l'année. Je veux donc modifier le chemin d'accés qui pour le moment était en dure.

Je passe donc par une zone de paramétrage avec liste déroulante pour choisir le mois et l'année et je les stoke dans 2 variables


Exemple: pour aller dans ce dossier
S:\0100\ENVOIS FACTURATION\Facturation 2013\201304

J'ai écris la macro suivante qui n'ouvre rien du tout:

Code:
ThisWorkbook.Activate
Dim Mois As Integer, Annee As Integer
Mois = Sheets("PARAMETRES").Range("C3")
Annee = Sheets("PARAMETRES").Range("C4")
chemin = "S:\0100\ENVOIS FACTURATION\Facturation" + Annee + "\" + Annee + Mois + "\"
fichier = Dir(chemin & "*????-????-??.xls")
Do While fichier <> ""
Workbooks.Open Filename:=chemin & fichier

Une idée?
 
Re : Code VBA incomplet

Re,

essaye comme suit :
Code:
chemin = "S:\0100\ENVOIS FACTURATION\Facturation" & Annee & "\" & Annee & mois & "\"

Bonjour,
ça ne marche pas avec cette solution, rien ne se passe donc la macro ne trouve pas le chemin.

Est-ce que ça peut venir de mon mois: dans mes parametres, il est écris "05" (cellule C3 donc) mais la valeur enregistré dans ma variable c'est bien "05" ou "5" car si c'est "5" c'est normal qu'il ne trouve pas le chemin.
Qu'en pensez vous?
 
Re : Code VBA incomplet

Re,

Est-ce que ça peut venir de mon mois: dans mes parametres, il est écris "05" (cellule C3 donc) mais la valeur enregistré dans ma variable c'est bien "05" ou "5" car si c'est "5" c'est normal qu'il ne trouve pas le chemin.
Qu'en pensez vous?

oui cela peut venir de là....

essaye avec la fonction "format" :
Code:
& Format(mois, "00") &
 
Re : Code VBA incomplet

J'ai contourné mon probleme en calculant mon chemin d'accès directement dans Excel que j'integre dans une varaible "Source" et ça marche.

Pour le moment j'arrive donc a extraire les données dont j'ai besoin sur 1 région, hors j'ai 32 regions. Je repete mon code 32 fois? ça me parait lourd.
Comme j'ai calculé mes 32 chemins d'accès sur Excel, est-ce que je peux lui dire de faire les 32 chemins les uns aprés les autres? Mes sources sont de K19 à K50

Voici mon code "final" pour le moment:

Code:
Sub recup()

'Parametre d'importation
ThisWorkbook.Activate
Dim Mois As Integer, Annee As Integer, Source As String
Mois = Sheets("PARAMETRES").Range("C3")
Annee = Sheets("PARAMETRES").Range("C4")
Source = Sheets("PARAMETRES").Range("K19")
Chemin = Source ' chemin d'accés
fichier = Dir(Chemin & "*????-????-??.xls")
Do While fichier <> ""
Workbooks.Open Filename:=Chemin & fichier

'localisation des données à extraire
Dim Effectif As String, NumGestion As String
Effectif = Sheets("BALANCE").Range("D89")
NumGestion = Sheets("PARAMETRES").Range("D9") 
    
'Extraction des données
ThisWorkbook.Sheets("AjoutEffectif").Activate
ActiveCell.Value = Effectif
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = NumGestion

Windows(fichier).Close savechanges:=False ' fermeture du fichier sources sans enregistrer les changements
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
fichier = Dir ' Fichier suivant
Loop
End Sub
 
Dernière édition:
- 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 Code VBA
Réponses
10
Affichages
861
Réponses
2
Affichages
461
Réponses
3
Affichages
673
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
819
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
174
Retour