[Résolu]: Ouvrir un fichier fermé, et copier les données d'un onglet variable

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

Cra49

XLDnaute Nouveau
Bonjour,

J'ai besoin d'un petit (gros peut-être même!) coup de pouce! Ayant l'habitude de fouiner sur les forums pour me dépanner, je n'ai malheureusement pas trouvé la réponse à ma question ce coup ci. Je vous explique mon problème:

J'ai un fichier "classeur 1" dans lequel je voudrais réaliser une synthèse d'un ensemble de données pris dans d'autres classeurs fermés.
En choisissant la semaine (par exemple : 2 (cellule C1) et le jour (exemple : mardi cellule C2) dans ce classeur 1, je souhaiterai récupérer le nombre de pomme, de l'onglet "Sem 02", de mardi, du "classeur 2" (par exemple).

Deux complexités en plus :
1- Certains des classeurs sont en lecture seule
2- Certains des classeurs ont des cellules verrouillées (mais je peux avoir les mots de passe, je ne peux cependant pas les supprimer)

J'avais trouvé un code pour une fonction, mais en l'appelant cela me met "nom?" ou "valeur?"

Function LireCellule_ClasseurFerme( _
Chemin As String, _
Fichier As String, _
Feuille As String, _
Cellule As Variant) As Variant

Application.Volatile

Dim Source As Object, Rst As Object, ADOCommand As Object
Dim Cible As String

Feuille = Feuille & "$"
Cible = Cellule.Address(0, 0, xlA1, 0) & ":" & _
Cellule.Address(0, 0, xlA1, 0)

Set Source = CreateObject("ADODB.Connection")
Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & "\" & Fichier & _
";Extended Properties=""Excel 8.0;HDR=No;"";"

Set ADOCommand = CreateObject("ADODB.Command")
With ADOCommand
.ActiveConnection = Source
.CommandText = "SELECT * FROM [" & Feuille & Cible & "]"
End With

Set Rst = CreateObject("ADODB.Recordset")
'1 = adOpenKeyset, 3 = adLockOptimistic
Rst.Open ADOCommand, , 1, 3
Set Rst = Source.Execute("[" & Feuille & Cible & "]")

LireCellule_ClasseurFerme = Rst(0).Value

Rst.Close
Source.Close
Set Source = Nothing
Set Rst = Nothing
Set ADOCommand = Nothing
End Function

J'espère avoir été claire. Merci de votre aide!
 

Pièces jointes

Dernière édition:
Re : Ouvrir un fichier fermé, et copier les données d'un onglet variable

Bonjour Cra49 le forum
voilà tu décompresses le dossier sur ton bureau et tu ouvres Classeur1 là tu cliques sur le bouton "chercher" et tu renseignes la semaine et le jour dans l'userform
a+
Papou😱
 

Pièces jointes

Dernière édition:
Re : Ouvrir un fichier fermé, et copier les données d'un onglet variable

Re Cra49 le forum
oui y'a plus qu'a !!!! mais si ton fichier ne ressemble pas à tes deux fichiers que tu avais mis en exemple tu auras certainement du mal à l'adapter enfin tu verras bien
a+
Papou😱
 
Re : Ouvrir un fichier fermé, et copier les données d'un onglet variable

Re Papou, Re le Forum,

Désolé pour la lenteur de la réponse, ton code était parfait, j'ai réussi à l'adapter parfaitement à mes fichiers c'est nickel, encore un grand merci pour ton aide !

A+,

Cra
 
Re : [Résolu]: Ouvrir un fichier fermé, et copier les données d'un onglet variable

Bonjour Cra49 le forum
bah oui tu es long à la détente, un mois pour un retour !!!
En tout cas merci de ce retour qui prouve que je n'avais pas travaillé pour rien
a+
Papou😱
 
- 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
XL 2021 VBA excel
Réponses
4
Affichages
169
Réponses
9
Affichages
580
Retour