Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Acitver classeur via cellule

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 !

guigui76

XLDnaute Occasionnel
Bonjour,
J'ai deux fichiers 1 source et 1 bilan, je fait une copie des données de source vers bilan par une macro, tous fonctionne.
Mon souci est que le non du fichier source change régulierement et que l'utilsateur final ne connait rien en macro.
Mon idée etait de "dire" à la macro que le non du fichier ce trouve en "a1"du fichier bilan.
je vous remercie d'avance.

je bloque là
Sub act()
i = cell("a1")
Workbooks("i").Activate
End Sub



et le reste du code ( qui fait la copie)
'
If MsgBox("Avez-vous besoin de créer le fichier?", vbYesNo) = vbNo Then End
Windows("source.xls").Activate
Worksheets(1).Activate
Range("a2:d164").Select
Application.CutCopyMode = False
Selection.Copy
Windows("bilan.xls").Activate

Cells(65535, 1).End(xlUp)(2).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
 
Dernière édition:
Re : Acitver classeur via cellule

Bonjour Guigui, bonjour le forum,

Pardon je n'avais pa vu qu'il y avait une erreur au départ. il faut enlever les guillemets puisque tu as déclaré i en tant que variable (si tu ne l'as pas fait tu dois écrire en début de marcro : Dim i As String) et là tu écris :
Code:
Workbooks(i).Activate
Il faut aussi, bien évidemment, que le classeur i soit ouvert sinon ça plante...

soit la macro Complète :
Code:
[COLOR=black]Sub act()[/COLOR]
[COLOR=black]Dim i As String[/COLOR]
 
[COLOR=black]i = Range("A1").Value[/COLOR]
[COLOR=black]Workbooks(i).Activate[/COLOR]
[COLOR=black]End Sub[/COLOR]
 
Dernière édition:
Re : Acitver classeur via cellule

J'ai fait plus d'un essai et cela fonctionne parfaitement.
Encore un grand Merci

Voici la macro complete, si cela peut intéréssé quelqu'un.

Sub Macro5()
'
' Macro5 Macro
' Macro enregistrée le 27/01/2010 par Moi
'
If MsgBox("Avez-vous besoin de créer le fichier?", vbYesNo) = vbNo Then End
Dim i As String

i = Range("A2").Value
Workbooks(i).Activate
'Workbooks("classeur1.xls").Activate
Worksheets(1).Activate
Range("a2:d254,g2:g254").Select
Application.CutCopyMode = True
Selection.Copy
Workbooks("bilan.xls").Activate

Cells(65535, 1).End(xlUp)(2).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True

Range("B2").Select

End Sub
 
Re : Acitver classeur via cellule

Bonsoir


guigui76: peux-tu me dire si ta macro ainsi modifiée fonctionne comme ta macro initiale ? Merci

Code:
Sub Macro5bis()
Dim Source As Range, Desti As Workbook
Dim i As String

' Macro enregistrée le 27/01/2010 par Moi

If MsgBox("Avez-vous besoin de créer le fichier?", vbYesNo) = vbNo Then End
i = Range("A2").Value

Set Source = Workbooks(i).Worksheets(1).Range("A2:D254,G2:G254")
Source.Copy
Set Desti = Workbooks("bilan.xls").Worksheets(1)
Desti.[A65536].End(xlUp)(2).PasteSpecial xlPasteAll, xlNone, , True
End Sub
 
Re : Acitver classeur via cellule

Je viens de faire l'essai cela bloc sur:

_Set Desti = Workbooks("bilan.xls").Worksheets(1) en supprimant cette partie c'est bon pour cette ligne
_Range("A65536").End(xlUp)(2).PasteSpecial xlPasteAll, xlNone, , True et la plus de problême.

J'aime bien ce que tu as fait c'est nettement plus claire que moi.
la macro modifié
Sub Macro5bis()
Dim Source As Range, Desti As Workbook
Dim i As String

' Macro enregistrée le 27/01/2010 par Moi

If MsgBox("Avez-vous besoin de créer le fichier?", vbYesNo) = vbNo Then End
i = Range("A2").Value

Set Source = Workbooks(i).Worksheets(1).Range("A2😀254,G2:G254")
Source.Copy
Set Desti = Workbooks("bilan.xls")
Range("A65536").End(xlUp)(2).PasteSpecial xlPasteAll, xlNone, , True
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

Réponses
10
Affichages
792
Réponses
17
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…