Snoopy6102000
XLDnaute Junior
Bonjour,
J'ai créé une boucle dans ma macro, qui s'applique à un fichier que je viens d'ouvrir. Le soucis c'est que quand mon fichier s'ouvre, la Boucle ne se fait pas.
Le premier jet est fait et fonctionne bien que pour l'instant j'ai basé le nom du fichier par "nomdufichier1"...
Autre soucis lié à ça, je fais un second enregistrement en cas de modification, et donc dans mon fichier listing j'ai une cellelu à mettre à jour : le montant. je dois donc retrouner dans mon listing, retrouver la ligne (ça c'est pas dur, le numéro a été récupéré avant), et recopier.
Le soucis avec mon code, c'est qu'une fois que le fichier listing est ouvert, la macro n'enchaîne pas sur ma boucle :
Sub Réenregistrement()
' Réenregistrement avec nouveau montant
ActiveWorkbook.Save
'réouverture du fichier listing
Dim Année, Fichier, Chemin, AN, CheminComplet
Chemin = "\\HRY1129\Atelier\Clients\Remises de Prix\"
Année = Year(Sheets("Devis").Range("BD2")) & "\"
Fichier = "DEVIS_" & Sheets("Base").Range("P9").Value & ".xlsm"
AN = Sheets("Base").Range("P9").Value
CheminComplet = Chemin & Année
Devis = "Fiche devis " & Sheets("Base").Range("O11") & ".xlsm"
CopieMontant = Workbooks(Devis).Sheets(1).Range("U2")
Workbooks.Open CheminComplet & Fichier
B = 6
Set Cherche = Workbooks(Fichier).Sheets(1).Cells(B, 2)
Set CopieMontant = Workbooks(Devis).Sheets("Base").Range("H341")
Set Numero = Workbooks(Devis).Sheets("Devis").Range("U2")
Do While ArrêtChercher <> trouvé = Numero
With Sheets(1).Range("A6:s1206")
Set trouvé1 = .Find(Cherche)
If trouvé1 = Numéro Then
CopieMontant.Copy Workbooks(Fichier).Sheets(1).Cells(B, 10)
End If
End With
B = B + 1
Set Cherche = Sheets(1).Cells(B, 2)
Set CopieMontant = Workbooks(Devis).Sheets("Base").Range("H341")
Loop
'Fermer fichier linsting DEVIS
End Sub
Faut-il plutôt que j'appelle cette macro dans le fichier ouvert? Le pb est que cette boucle utilise les 2 fichiers ouvert. Elle trouve un numéro en U2 de mon premier fichier, et le chercher dans le fichier que je viens d'ouvrir, afin de mettre à jour le Montant.
Merci d'avance pour votre aide.
J'ai créé une boucle dans ma macro, qui s'applique à un fichier que je viens d'ouvrir. Le soucis c'est que quand mon fichier s'ouvre, la Boucle ne se fait pas.
Le premier jet est fait et fonctionne bien que pour l'instant j'ai basé le nom du fichier par "nomdufichier1"...
Autre soucis lié à ça, je fais un second enregistrement en cas de modification, et donc dans mon fichier listing j'ai une cellelu à mettre à jour : le montant. je dois donc retrouner dans mon listing, retrouver la ligne (ça c'est pas dur, le numéro a été récupéré avant), et recopier.
Le soucis avec mon code, c'est qu'une fois que le fichier listing est ouvert, la macro n'enchaîne pas sur ma boucle :
Sub Réenregistrement()
' Réenregistrement avec nouveau montant
ActiveWorkbook.Save
'réouverture du fichier listing
Dim Année, Fichier, Chemin, AN, CheminComplet
Chemin = "\\HRY1129\Atelier\Clients\Remises de Prix\"
Année = Year(Sheets("Devis").Range("BD2")) & "\"
Fichier = "DEVIS_" & Sheets("Base").Range("P9").Value & ".xlsm"
AN = Sheets("Base").Range("P9").Value
CheminComplet = Chemin & Année
Devis = "Fiche devis " & Sheets("Base").Range("O11") & ".xlsm"
CopieMontant = Workbooks(Devis).Sheets(1).Range("U2")
Workbooks.Open CheminComplet & Fichier
B = 6
Set Cherche = Workbooks(Fichier).Sheets(1).Cells(B, 2)
Set CopieMontant = Workbooks(Devis).Sheets("Base").Range("H341")
Set Numero = Workbooks(Devis).Sheets("Devis").Range("U2")
Do While ArrêtChercher <> trouvé = Numero
With Sheets(1).Range("A6:s1206")
Set trouvé1 = .Find(Cherche)
If trouvé1 = Numéro Then
CopieMontant.Copy Workbooks(Fichier).Sheets(1).Cells(B, 10)
End If
End With
B = B + 1
Set Cherche = Sheets(1).Cells(B, 2)
Set CopieMontant = Workbooks(Devis).Sheets("Base").Range("H341")
Loop
'Fermer fichier linsting DEVIS
End Sub
Faut-il plutôt que j'appelle cette macro dans le fichier ouvert? Le pb est que cette boucle utilise les 2 fichiers ouvert. Elle trouve un numéro en U2 de mon premier fichier, et le chercher dans le fichier que je viens d'ouvrir, afin de mettre à jour le Montant.
Merci d'avance pour votre aide.