OVH Cloud OVH Cloud

Récupérer les données d'un tableau source

7 réponses
Avatar
greg2004
Bonjour,

Je vous sollicite aujourd'hui, car je n'arrive pas de tout à faire entendre à Excel mon projet. ( Excel est des fois capricieux)

Je m'explique :

J'ai une page source avec un tableau qui s'intitule : rapport de chantier. Ce rapport est rempli chaque semaine, pour le calcul des heures de chantiers (temps de trajet, repas, temps de travail)...

Je souhaite créer un bouton macro qui effectue les tâches suivantes :

1 - Sauvegarde des données dans la feuille N° 1 à la suite : Les couleurs sur le tableau et la feuille correspondent aux données que je souhaite garder.
2 - Impression du tableau rapport de chantier en format PDF
3 - Suppression des données dans le rapport de chantier
4 - Sauvegarde

De cette façon, j'ai un historique de jour en jour et semaine en semaine, des rapports de chantier, et à chaque fois que je clic sur le bouton cela, remet le tableau rapport de chantier prêt à remplir.

Je vous remercie d'avance pour vos miracles :)

Je peux faire suivre le fichier excel

7 réponses

Avatar
MichD
Le 11/10/19 à 07:58, greg2004 a écrit :
De cette façon, j'ai un historique de jour en jour et semaine en semaine, des
rapports de chantier, et à chaque fois que je clic sur le bouton cela, remet le
tableau rapport de chantier prêt à remplir.

Bonjour,
La méthode la plus simple :
À partir du fichier que tu as élaboré, tu supprimes les données que tu
as saisi (fait cela dans une copie d'un des fichiers) et tu enregistres
ton fichier en utilisant la commande "Enregistrer sous", tu choisis
l'endroit où tu veux le sauvegarder (modèle) , tu lui donne un nom
approprié et dans la liste déroulante juste en dessous, tu choisis dans
la liste : Modèle Excel (prenant en change les macros) (.xltm) . Excel
te propose un endroit de sauvegarde par défaut mais tu peux choisir un
autre répertoire par défaut.
Lorsque tu as besoin d'un nouveau classeur, tu n'as qu'a double-cliquer
sur le fichier modèle.
Avatar
greg2004
Le vendredi 11 Octobre 2019 à 13:58 par greg2004 :
Bonjour,
Je vous sollicite aujourd'hui, car je n'arrive pas de tout à faire
entendre à Excel mon projet. ( Excel est des fois capricieux)
Je m'explique :
J'ai une page source avec un tableau qui s'intitule : rapport de chantier. Ce
rapport est rempli chaque semaine, pour le calcul des heures de chantiers
(temps de trajet, repas, temps de travail)...
Je souhaite créer un bouton macro qui effectue les tâches
suivantes :
1 - Sauvegarde des données dans la feuille N° 1 à la suite :
Les couleurs sur le tableau et la feuille correspondent aux données que
je souhaite garder.
2 - Impression du tableau rapport de chantier en format PDF
3 - Suppression des données dans le rapport de chantier
4 - Sauvegarde
De cette façon, j'ai un historique de jour en jour et semaine en
semaine, des rapports de chantier, et à chaque fois que je clic sur le
bouton cela, remet le tableau rapport de chantier prêt à remplir.
Je vous remercie d'avance pour vos miracles :)
Je peux faire suivre le fichier excel
Bonjour,
C'est une méthode, mais ce n'est pas tout à fait ce que je recherche. La feuille n°1 contient le tableau à remplir charque semaine. Et quand le tableau d'heure est rempli pour chaque employers. On clic sur le bouton pour le sauvegarder en PDF, déplacer les données dans la feuille N°2 à la suite, et effacer les données rentrées dans le tableau d'heure pour pourvoir le remplir tranquillement la semaine d'arpès.
Avatar
greg2004
Le vendredi 11 Octobre 2019 à 13:58 par greg2004 :
Bonjour,
Je vous sollicite aujourd'hui, car je n'arrive pas de tout à faire
entendre à Excel mon projet. ( Excel est des fois capricieux)
Je m'explique :
J'ai une page source avec un tableau qui s'intitule : rapport de chantier. Ce
rapport est rempli chaque semaine, pour le calcul des heures de chantiers
(temps de trajet, repas, temps de travail)...
Je souhaite créer un bouton macro qui effectue les tâches
suivantes :
1 - Sauvegarde des données dans la feuille N° 1 à la suite :
Les couleurs sur le tableau et la feuille correspondent aux données que
je souhaite garder.
2 - Impression du tableau rapport de chantier en format PDF
3 - Suppression des données dans le rapport de chantier
4 - Sauvegarde
De cette façon, j'ai un historique de jour en jour et semaine en
semaine, des rapports de chantier, et à chaque fois que je clic sur le
bouton cela, remet le tableau rapport de chantier prêt à remplir.
Je vous remercie d'avance pour vos miracles :)
Je peux faire suivre le fichier excel
Bonjour,
C'est une méthode, mais ce n'est pas tout à fait ce que je recherche. La feuille n°1 contient le tableau à remplir charque semaine. Et quand le tableau d'heure est rempli pour chaque employers. On clic sur le bouton pour le sauvegarder en PDF, déplacer les données dans la feuille N°2 à la suite, et effacer les données rentrées dans le tableau d'heure pour pourvoir le remplir tranquillement la semaine d'arpès.
Avatar
Michel__D
Bonjour,
Le 12/10/2019 à 08:41, greg2004 a écrit :
Le vendredi 11 Octobre 2019 à 13:58 par greg2004 :
Bonjour,
Je vous sollicite aujourd'hui, car je n'arrive pas de tout à faire
entendre à Excel mon projet. ( Excel est des fois capricieux)
Je m'explique :
J'ai une page source avec un tableau qui s'intitule : rapport de chantier. Ce
rapport est rempli chaque semaine, pour le calcul des heures de chantiers
(temps de trajet, repas, temps de travail)...
Je souhaite créer un bouton macro qui effectue les tâches
suivantes :
1 - Sauvegarde des données dans la feuille N° 1 à la suite :
Les couleurs sur le tableau et la feuille correspondent aux données que
je souhaite garder.
2 - Impression du tableau rapport de chantier en format PDF
3 - Suppression des données dans le rapport de chantier
4 - Sauvegarde
De cette façon, j'ai un historique de jour en jour et semaine en
semaine, des rapports de chantier, et à chaque fois que je clic sur le
bouton cela, remet le tableau rapport de chantier prêt à remplir.
Je vous remercie d'avance pour vos miracles :)
Je peux faire suivre le fichier excel

Bonjour,
C'est une méthode, mais ce n'est pas tout à fait ce que je recherche. La feuille
n°1 contient le tableau à remplir charque semaine. Et quand le tableau d'heure
est rempli pour chaque employers. On clic sur le bouton pour le sauvegarder en
PDF, déplacer les données dans la feuille N°2 à la suite, et effacer les données
rentrées dans le tableau d'heure pour pourvoir le remplir tranquillement la
semaine d'arpès.

Si tu pouvais faire suivre ton fichier Excel comme proposé on pourrait voir ce qui te pose problème.
Nota: je rappelle que sur Excel il y a un enregistreur de macro qui une fois activé transpose
toutes les actions réalisées en VBA cela fourni une base que l'on peut adapter/modifier.
Avatar
benoit
Michel__D wrote:
C'est une méthode, mais ce n'est pas tout à fait ce que je recherche. La
feuille n°1 contient le tableau à remplir charque semaine. Et quand le
tableau d'heure est rempli pour chaque employers. On clic sur le bouton
pour le sauvegarder en PDF, déplacer les données dans la feuille N°2 à
la suite, et effacer les données rentrées dans le tableau d'heure pour
pourvoir le remplir tranquillement la semaine d'arpès.

Si tu pouvais faire suivre ton fichier Excel comme proposé on pourrait
voir ce qui te pose problème.
Nota: je rappelle que sur Excel il y a un enregistreur de macro qui une
fois activé transpose toutes les actions réalisées en VBA cela fourni une
base que l'on peut adapter/modifier.

Admettons que la feuille de saisie se nomme « En cours ». Une macro
devrait permettre de :
- Imprimer, ou sauvegarder, la feuille « En cours » au format PDF ;
- La dupliquer et lui donner le nom voulu, telle la date saisie dans une
de ses cellules ;
- Revenir à la feuille « En cours » ;
- Sélectionner les cellules contenant des données saisies, en conservant
celles qui ne changent jamais ;
- Effacer les données ;
- Enregistrer le fichier.
Le « truc » n'est pas de déplacer les données d'une feuille à une autre,
mais de dupliquer la feuille et la renommer.
--
Vie : n.f. maladie mortelle sexuellement transmissible
Benoit chez lui à leraillez.com
Avatar
Bebert
"greg2004" a écrit dans le
message de news:
Le vendredi 11 Octobre 2019 à 13:58 par greg2004 :
Bonjour,
Je vous sollicite aujourd'hui, car je n'arrive pas de tout à faire
entendre à Excel mon projet. ( Excel est des fois capricieux)
Je m'explique :
J'ai une page source avec un tableau qui s'intitule : rapport de
chantier. Ce
rapport est rempli chaque semaine, pour le calcul des heures de chantiers
(temps de trajet, repas, temps de travail)...
Je souhaite créer un bouton macro qui effectue les tâches
suivantes :
1 - Sauvegarde des données dans la feuille N° 1 à la suite :
Les couleurs sur le tableau et la feuille correspondent aux données que
je souhaite garder.
2 - Impression du tableau rapport de chantier en format PDF
3 - Suppression des données dans le rapport de chantier
4 - Sauvegarde
De cette façon, j'ai un historique de jour en jour et semaine en
semaine, des rapports de chantier, et à chaque fois que je clic sur le
bouton cela, remet le tableau rapport de chantier prêt à remplir.
Je vous remercie d'avance pour vos miracles :)
Je peux faire suivre le fichier excel

Bonjour,
C'est une méthode, mais ce n'est pas tout à fait ce que je recherche. La
feuille
n°1 contient le tableau à remplir charque semaine. Et quand le tableau
d'heure
est rempli pour chaque employers. On clic sur le bouton pour le
sauvegarder en
PDF, déplacer les données dans la feuille N°2 à la suite, et effacer les
données
rentrées dans le tableau d'heure pour pourvoir le remplir tranquillement
la
semaine d'arpès.

Pas de réponse, mais essaie de réponse.
B.
Avatar
MichD
Bonjour,
Voici un code que tu dois adapter selon ton environnement. Les variables
à définir ont été identifiées. Le code est commenté. Prends soin de le
lire et l'adapter la valeur des variables avant de la lancer la macro.
Copie cette macro dans un module standard :
'------------------------------------------------------
Sub Test2()
Dim Chemin As String, NomDuFichier As String
Dim NomFichierEnPdf, CheminFichierPDF
Dim X As XlFileFormat, NomFeuille As String
X = xlOpenXMLWorkbookMacroEnabled 'Valeur numérique 52
Dim Elt As Variant, Arr()
'La liste des cellules ou plage de cellules contenant
'les données que tu veux effacer. Tu peux ajouter à la
'liste autant de cellules ou plages de cellules que tu veux.
'Tu dois respecter cette syntaxe. À toi de définir les cellules
'ou plages de cellules que tu veux effacer à chaque exécution
de ce code.
Arr = Array("A1", "B2:D4", "F10", _
"H1:H25", "K42", "M3:P25")
'***********VARIABLES À DÉFINIR SELON TON ENVIRONNEMENT***********
NomFeuille = "Feuil1"
'Endroit où tu veux effectuer la sauvegarde du fichier Excel
Chemin = "E:Téléchargements" 'N'oublie pas le backlash
'Endroit où tu veux effectuer la sauvegarde du fichier PDF
CheminFichierPDF = "E:Documents"
'Le nom du fichier est formé de "MichD" + la date et heure d'enregistrement.
'De cette manière, le fichier ne porte jamais le même nom même si tu
'exécutes la macro plusieurs fois dans la même journée et ils se classes
'en ordre croissant.
NomDuFichier = "MichD" & " " & Format(Now(), "yyyy MM dd H MM SS") & ".xlsm"
NomFichierEnPdf = "MichD" & " " & Format(Now(), "yyyy MM dd H MM SS") &
".pdf"
'************************************************************************
Application.EnableEvents = False
Application.ScreenUpdating = False
'Cela copie la feuille "Feuil1" dans un nouveau classeur
'Enregistrement du nouveau classeur
Worksheets(NomFeuille).Copy
'Avec le nouveau classeur contenant la feuille "Feuil1"
With ActiveWorkbook
'Enregistrement du classeur
.SaveAs Filename:=Chemin & NomDuFichier, FileFormat:=X
'Création du fichier PDF
'Le dernier True de la ligne de code permet d'afficher le fichier
en pdf
'lorsqu'il est terminé, si tu ne désires pas l'afficher, modifie
pour False
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CheminFichierPDF & _
NomFichierEnPdf, OpenAfterPublish:=True
'Fermeture du classeur
.Close
End With
'Si tu ne désire pas conserver le nouveau classeur, cette ligne de code
le supprime
Kill Chemin & NomDuFichier
'Efface toutes les données des cellules que tu as définis dans la
variable Arr
With ThisWorkbook
With .Worksheets(NomFeuille)
For Each Elt In Arr
'Efface la donnée, mais pas le format de la cellule
.Range(Elt).ClearContents
'OU efface la donnée et le format de la cellule si besoin.
' .Range(Elt).Clear
Next
End With
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
'------------------------------------------------------
MichD