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 !

laurent999

XLDnaute Occasionnel
Bonjour à toutes et tous,

J'ai écrit une macro qui me semble correcte, cependant cela ne fonctionne pas et je n'arrive pas à comprendre.

Je vous ai joint un dossier comprenant un Classeur1.xlsm
et un dossier comprenant deux Classeur
l'un david.xlsx
et l"autre laurent.xlsx

Sur la feuille 1 du classeur1
il y a une date
en colonne A il y a les noms correspondant aux classeur david et laurent.

en face de chaque nom en B,C,D se trouve un numéro, que l'on considérera ici comme infos

il faudrait qu'en appuyant sur le bouton, cela ouvre successivement le classeur david puis laurent et qu'en face de la date situé sur une feuille de ces classeurs, se trouve les infos.

Sur le bouton j'ai déjà affecté une macro mais elle ne fonctionne pas.

Si quelqu'un peu y apporter une correction et explications.

Merci d'avance

Laurent.
 

Pièces jointes

  • A.zip
    A.zip
    28.4 KB · Affichages: 22
  • A.zip
    A.zip
    28.4 KB · Affichages: 27
  • A.zip
    A.zip
    28.4 KB · Affichages: 27
Re : problème macro

bonjour Laurent
thisworkbook n'étant plus actif feuillle.name a le nom d'une feuille du classeur actif(david ou laurent)
qui n'existe pas dans thisworkbook


Dim Cellule As Long
'début changé
With ThisWorkbook
For Each feuille In .Worksheets
On Error GoTo GestionDesErreurs
myVar = Application.WorksheetFunction _
.Match(CLng(CDate(valeurrecherchée)), .Worksheets(feuille.Name).Range("A1:A10000"), 0)
On Error GoTo 0
.Sheets(feuille.Name).Cells(myVar, 2) = result1
.Sheets(feuille.Name).Cells(myVar, 3) = result2
.Sheets(feuille.Name).Cells(myVar, 4) = result3
Autre:
Next
End With
'fin changé
la suite inchangée
à bientôt
 
Re : problème macro

bonsoir bebere,

merci pour ta réponse, cependant le nom des feuilles des classeurs david et laurent n'étant plus feuil1, feuil2 et feuil3
mais t,u,v
je pense que cela ne fonctionne pas avec Feuille.name, mais je ne sais pas ce qu'il faut noter.

Merci d'avance

Laurent.
 
Re : problème macro

Bonjour Laurent, Bebere

pas tout suivi, mais je procéderais peut être ainsi à partir d'une boucle "for each", pour intervenir sur les feuilles d'un classeur :

Code:
Dim Cellule As Long, feuille As Worksheet
For Each feuille In Workbooks("nomclasseur").Worksheets
    On Error GoTo GestionDesErreurs
    myVar = Application.WorksheetFunction _
    .Match(CLng(CDate(valeurrecherchée)), feuille.Range("A1:A10000"), 0)
    On Error GoTo 0
    feuille.Cells(myVar, 2) = result1
    feuille.Cells(myVar, 3) = result2
    feuille.Cells(myVar, 4) = result3
Next

bonne journée
@+

bonne journée
@+
 
Re : problème macro

bonjour Laurent,Pierrot
une autre proposition

Sub Macro1()'bebere
Dim Chemin As String, C As Range, Cel As Range, Cell As Range
Dim NomFichier As String, ValeurRecherchée As Date, Ws As Worksheet

Application.ScreenUpdating = False
Chemin = ThisWorkbook.Path & "\E\"
With ThisWorkbook.Worksheets("Feuil1")
For Each Cel In .Range("A18:A" & .Range("A65536").End(xlUp).Row)
NomFichier = Cel & ".xlsx"
ValeurRecherchée = .Cells(15, 3)
Workbooks.Open Chemin & NomFichier
For Each Ws In ActiveWorkbook.Worksheets
With Ws
Set Cell = .Cells.Find(ValeurRecherchée)
If Not Cell Is Nothing Then
For Each C In .Range("A18:A" & .Range("A65536").End(xlUp).Row)
If C = ValeurRecherchée Then
C.Offset(, 1) = Cel.Offset(, 1)
C.Offset(, 2) = Cel.Offset(, 2)
C.Offset(, 3) = Cel.Offset(, 3)
Exit For
End If
Next C
End If
End With
Next Ws
ActiveWorkbook.Close savechanges:=True
Next Cel
End With

Application.ScreenUpdating = True

End Sub
à bientôt
 
- 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

D
  • Question Question
Réponses
5
Affichages
249
Didierpasdoué
D
Réponses
1
Affichages
174
Réponses
7
Affichages
553
Réponses
12
Affichages
489
Retour