Probleme avec methode `range` de l`objet feuille

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

V

Valentin

Guest
Bonjour a tous,

Voila, en cliquant sur un bouton, je voudrais recuperer des donnees de differents fichiers situes dans un repertoire

Tout fonctionne nickel jusqu`a ce que le debuggeur me mette

Method `Range` of object`_WorkSheet` failed


Private Sub CommandButton1_Click()

chemin = ThisWorkbook.Path
nomfichier = ActiveWorkbook.Name
critère = 'oui'

Set fs = Application.FileSearch

With fs
.LookIn = chemin
If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then
MsgBox 'Ce dossier contient ' & .FoundFiles.Count & _
' fichier(s) répondant aux critères.'
For i = 1 To .FoundFiles.Count
fichierlu = .FoundFiles(i)
MsgBox .FoundFiles(i)
Workbooks.Open Filename:=fichierlu
fenêtrelue = ActiveWorkbook.Name

Sheets(2).Select
Range(Cells(9, 13)).Select <<< le probleme vient d`ici !!!

Est-ce que quelqu`un saurait d`ou vient le probleme ???

Merci d`avance de votre aide
 
Re😛robleme avec methode `range` de l`objet feuill

Re

Essaies de faire comme ceci

tu ecris tout ton code dans un module

Sub toto ()

chemin = ThisWorkbook.Path
nomfichier = ActiveWorkbook.Name
critère = 'oui'

Set fs = Application.FileSearch

With fs
.LookIn = chemin
If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then
MsgBox 'Ce dossier contient ' & .FoundFiles.Count & _
' fichier(s) répondant aux critères.'
For i = 1 To .FoundFiles.Count
fichierlu = .FoundFiles(i)
MsgBox .FoundFiles(i)
Workbooks.Open Filename:=fichierlu
fenêtrelue = ActiveWorkbook.Name

Sheets(2).Select
Cells(9, 13).Select

ETc ...

end sub

et tu appelles la macro de ton bouton

Private Sub CommandButton1_Click()
toto
end sub

Bon courage
 
Re😛robleme avec methode `range` de l`objet feuill

Bonjour Pascal, Valentin, le Forum

Je me permets de m'introduire dans ce fil, car je n'ai pas bien suivi la demande par rapport aux codes indiqués...

Le Critère 'Oui' sert à quoi ? Car dans l'état du code, il n'y a pas de recherche sélective 'Like' dans ce code... Ensuite je n'ai pas suivi le besoin de passer par une Public Sub 'Toto' pour régler un problème de range ?

Enfin moi si je devais récupérer le contenu de la cellule 'M9' de la seconde feuille de tous les Classeurs dans le même répertoire et dont le nom contient 'Oui' voici une syntax un peu plus aboutie (surtout pour les déclarations de variables) 😉

Option Explicit

Private Sub CommandButton1_Click()
Dim Chemin As String, NomFichier As String, Critere As String
Dim Fs As FileSearch
Dim FichierLu As Variant
Dim WBCible As Workbook
Dim CellCible As Range

Chemin = ThisWorkbook.Path
NomFichier = ActiveWorkbook.Name
Critere = 'OUI'

Set Fs = Application.FileSearch

&nbsp; &nbsp;
With Fs
&nbsp; &nbsp; &nbsp; &nbsp; .NewSearch
&nbsp; &nbsp; &nbsp; &nbsp; .LookIn = Chemin
&nbsp; &nbsp; &nbsp; &nbsp; .SearchSubFolders =
False
&nbsp; &nbsp; &nbsp; &nbsp; .FileType = msoFileTypeExcelWorkbooks
&nbsp; &nbsp; &nbsp; &nbsp; .Filename = '*' & Critere & '*.xls'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
If .Execute > 0 Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MsgBox 'Ce dossier contient ' & .FoundFiles.Count & _
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ' fichier(s) répondant au critère.'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
For Each FichierLu In .FoundFiles
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
If Not FichierLu = ThisWorkbook.FullName Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MsgBox 'Scan actuellement ' & FichierLu
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Set WBCible = Workbooks.Open(FichierLu)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
On Error GoTo ErrorHandlerNoTwoSheets
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Set CellCible = WBCible.Worksheets(2).Cells(9, 13)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MsgBox 'Valeur Cellule Cible ' & CellCible
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WBCible.Close 0
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
On Error GoTo 0
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Next
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp;
End With
Exit Sub
ErrorHandlerNoTwoSheets:
MsgBox 'Le Fichier ' & WBCible.Name & ' ne contient qu
'une seule Feuille'
End Sub

Bonne Journée
@+Thierry
 
Re😛robleme avec methode `range` de l`objet feuill

ReBonjour a tous,

g essaye le code de thierry, qui est tres efficace, mais dont le probleme comme le mien est qu`il reouvre le fichier ou g mon code.

Ce serait cool si il n`y avait pas l`invite voulez-vous reouvrir le fichier machin, la ou justement je recupere mes donnees et ou la macro se trouve. Parce que si je le reouvre, je perds toutes mes donnees...... :unsure:
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
7
Affichages
1 K
Manon
M
P
Réponses
16
Affichages
2 K
PsykotropyK
P
S
Réponses
9
Affichages
2 K
J
Réponses
2
Affichages
1 K
J
Retour