Bonjour à tous,
Bon je l'avoue mon titre n'est pas très explicite mais je n'ai pas réussi à trouver un titre qui explique simplement ma demande. Avec plusieurs phrases et un exemple ce sera plus simple (enfin j'espère !!).
J'ai un fichier " test" de statistiques avec plusieurs feuilles (dans l'exemple je n'ai mis qu'une de mes feuilles de stat histoire d'alléger le fichier !), les données renseignées dans mes tableaux se trouvent dans un autre classeur (dont la fin du nom change à chaque fois d'où le début de ma macro). Donc dans ma macro j'ouvre le classeur et je vais copier mes données et je dois les coller dans mon tableau en face du mois correspondant. Pour savoir quel est le mois correspondant il faut se référer à la cellule "G1" de la feuille "Utilisation du fichier".
En fait ma macro fonctionne très bien mais je suis persuadée que l'on peut l'alléger. J'ai fait des recherches mais n'est rien trouvé.
Peut-on dire qu'il faut aller voir la valeur dans la cellule "G1" de la feuille "Utilisation du fichier" et qu'ensuite il colle à côté du mois correspondant dans la feuille "ACTIVITE EXTERNE" (en sachant qu'il y a plusieurs graphiques par feuilles et donc plusieurs données à coller)??
Si il n'y a pas possibilité de la rendre plus simple je la garderais telle qu'elle est mais ça intéresserait vraiment de savoir s'il y a une autre méthode.
J'espère que j'ai été à peu près claire dans mes explications, je mets en pièce joint mon fichier et ci-dessous mon code :
Je n'ai préparé ma macro que jusqu'à mars en attendant de voir si il y avait une autre manière de faire.
Merci d'avance pour votre aide.
sophie
Bon je l'avoue mon titre n'est pas très explicite mais je n'ai pas réussi à trouver un titre qui explique simplement ma demande. Avec plusieurs phrases et un exemple ce sera plus simple (enfin j'espère !!).
J'ai un fichier " test" de statistiques avec plusieurs feuilles (dans l'exemple je n'ai mis qu'une de mes feuilles de stat histoire d'alléger le fichier !), les données renseignées dans mes tableaux se trouvent dans un autre classeur (dont la fin du nom change à chaque fois d'où le début de ma macro). Donc dans ma macro j'ouvre le classeur et je vais copier mes données et je dois les coller dans mon tableau en face du mois correspondant. Pour savoir quel est le mois correspondant il faut se référer à la cellule "G1" de la feuille "Utilisation du fichier".
En fait ma macro fonctionne très bien mais je suis persuadée que l'on peut l'alléger. J'ai fait des recherches mais n'est rien trouvé.
Peut-on dire qu'il faut aller voir la valeur dans la cellule "G1" de la feuille "Utilisation du fichier" et qu'ensuite il colle à côté du mois correspondant dans la feuille "ACTIVITE EXTERNE" (en sachant qu'il y a plusieurs graphiques par feuilles et donc plusieurs données à coller)??
Si il n'y a pas possibilité de la rendre plus simple je la garderais telle qu'elle est mais ça intéresserait vraiment de savoir s'il y a une autre méthode.
J'espère que j'ai été à peu près claire dans mes explications, je mets en pièce joint mon fichier et ci-dessous mon code :
Code:
Sub test_if_activite_externe()
'If Range("E1").Value = "Juillet" Then
'ActiveSheet.Range("A5:A17").AutoFilter Field:=1, Criteria1:=Range("E1").Value
'End If
Chemin = "J:\Stats DIM\TABLEAU DE BORD\PJ_outlook\"
Part = "TABLEAU+DE+BORD+DIM+EXTERNE.Etab"
Chem2 = Dir(Chemin & "\" & Part & "*.xls")
If Sheets("Utilisation du fichier").Range("G1").Value = "Janvier" Then
Workbooks.Open Filename:=Chemin & "\" & Dir(Chemin & "\" & Part & "*.xls")
Sheets("2. E6").Range("O96:Q96").Copy
Windows("STATS SERVICES.xlsm").Activate
Sheets("ACTIVITE EXTERNE").Select
Range("G6").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
If Sheets("Utilisation du fichier").Range("G1").Value = "Février" Then
Workbooks.Open Filename:=Chemin & "\" & Dir(Chemin & "\" & Part & "*.xls")
Sheets("2. E6").Range("O96:Q96").Copy
Windows("STATS SERVICES.xlsm").Activate
Sheets("ACTIVITE EXTERNE").Select
Range("G7").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
If Sheets("Utilisation du fichier").Range("G1").Value = "Mars" Then
Workbooks.Open Filename:=Chemin & "\" & Dir(Chemin & "\" & Part & "*.xls")
Sheets("2. E6").Range("O96:Q96").Copy
Windows("STATS SERVICES.xlsm").Activate
Sheets("ACTIVITE EXTERNE").Select
Range("G8").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
End Sub
Je n'ai préparé ma macro que jusqu'à mars en attendant de voir si il y avait une autre manière de faire.
Merci d'avance pour votre aide.
sophie