Répétér une macro sur d'autres fichiers
Résolu
Nathalie
-
Nathalie -
Nathalie -
Bonjour,
Je me suis dit que ca serait une superbe idée de faire une macro pour collecter des données, mais punaise, c'est dur! :-P
J'ai un dossier dans lequel je vais stocker "n" fichiers (environ 50) de format identique mais avec des données différentes.
J'ai créé une macro qui permet de récupérer dans le fichier 1 du dossier les données des cellules C7 à O7 et de les insérer dans un autre fichier Z à la ligne 4.
Etant donné que j'ai déja beaucoup de fichier et que d'autres vont s'ajouter dans le temps, je voudrais écrire un code qui dirait: " faire la même opération sur tous les autres fichier du dossier et les insérer en dessous des données déja collées ligne 4"... mais ca je ne sais pas le faire
Mais si je savais la fairer alors lorsque j'activerais la macro je pourrais récupérer toutes les données automatiquement et surtout si je devais ajouter ou supprimer des fichiers ils seraient pris en compte.
Est ce que quelqu'un aurait une idée s'il vous plait?
Merci beaucoup par avance,
Nathalie
Je me suis dit que ca serait une superbe idée de faire une macro pour collecter des données, mais punaise, c'est dur! :-P
J'ai un dossier dans lequel je vais stocker "n" fichiers (environ 50) de format identique mais avec des données différentes.
J'ai créé une macro qui permet de récupérer dans le fichier 1 du dossier les données des cellules C7 à O7 et de les insérer dans un autre fichier Z à la ligne 4.
Etant donné que j'ai déja beaucoup de fichier et que d'autres vont s'ajouter dans le temps, je voudrais écrire un code qui dirait: " faire la même opération sur tous les autres fichier du dossier et les insérer en dessous des données déja collées ligne 4"... mais ca je ne sais pas le faire
Mais si je savais la fairer alors lorsque j'activerais la macro je pourrais récupérer toutes les données automatiquement et surtout si je devais ajouter ou supprimer des fichiers ils seraient pris en compte.
Est ce que quelqu'un aurait une idée s'il vous plait?
Merci beaucoup par avance,
Nathalie
A voir également:
- Répétér une macro sur d'autres fichiers
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
5 réponses
bonjour,
Une idée ?
Oui
ou plutôt une méthode! :o)
mais quelle version d'Excel?
et quel est le nom de la feuille des 50 fichiers ?
ou quel est le nom générique des 50 fichiers (par ex toto1 à toto50--> générique! toto) ?
Michel
Une idée ?
Oui
ou plutôt une méthode! :o)
mais quelle version d'Excel?
et quel est le nom de la feuille des 50 fichiers ?
ou quel est le nom générique des 50 fichiers (par ex toto1 à toto50--> générique! toto) ?
Michel
Bonjour Michel,
oui plutôt une méthode :-P
Alors j'ai la version Excel 2007 et concernant le nom des fichiers ca sera un nom générique, il s'appeleront tous Score + un chiffre/nombre donc ca fera : Score1, Score 2, Score 3...
oui plutôt une méthode :-P
Alors j'ai la version Excel 2007 et concernant le nom des fichiers ca sera un nom générique, il s'appeleront tous Score + un chiffre/nombre donc ca fera : Score1, Score 2, Score 3...
Hello Michel,
Punaise vous êtes un génie, ca marche super bien!! Je suis trop contente!! C'est incroyable!
Je vais juste essayer de récupérer aussi le nom des fichiers (score 1, score 2) pour les mettre en début des lignes extraites parce que sinon j'ai plein de données mais je ne sais pas à quoi elles correspondent.
Je vais essayer de m'inspirer du code que vous m'avez fourni.
Merci beaucoup!!
Bien cordialement,
Nathalie
Punaise vous êtes un génie, ca marche super bien!! Je suis trop contente!! C'est incroyable!
Je vais juste essayer de récupérer aussi le nom des fichiers (score 1, score 2) pour les mettre en début des lignes extraites parce que sinon j'ai plein de données mais je ne sais pas à quoi elles correspondent.
Je vais essayer de m'inspirer du code que vous m'avez fourni.
Merci beaucoup!!
Bien cordialement,
Nathalie
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tout fonctionne. J'ai réussi à rajouter les noms comme souhaité.
par contre dans le classeurs final qui collecte les données j'obtiens des données que j'aimerais voir apparaitre en %.
J'ai marqué un code mais il ne fonctionne pas:
Sub ApplyPercentageFormat()
'Pour la plage sélectionnée : appliquer le format pourcentage
For Each Requete In Range("C4:O100")
With Requete
If Right(.Value, 1) = "%" Then
Fichier = Left(.Value, Len(.Value) - 1)
If IsNumeric(myValue) Then
'Format pourcentage* avec deux décimales
.NumberFormat = "#,##0.00%"
.Value = myValue / 100
End If
End If
End With
End Sub
End Sub
Je l'ai mis dans la page compilation à la suite du code que vous m'avez créé.
Vous voyez ce qui cloche? je pense que c'est le For each REQUETE
par contre dans le classeurs final qui collecte les données j'obtiens des données que j'aimerais voir apparaitre en %.
J'ai marqué un code mais il ne fonctionne pas:
Sub ApplyPercentageFormat()
'Pour la plage sélectionnée : appliquer le format pourcentage
For Each Requete In Range("C4:O100")
With Requete
If Right(.Value, 1) = "%" Then
Fichier = Left(.Value, Len(.Value) - 1)
If IsNumeric(myValue) Then
'Format pourcentage* avec deux décimales
.NumberFormat = "#,##0.00%"
.Value = myValue / 100
End If
End If
End With
End Sub
End Sub
Je l'ai mis dans la page compilation à la suite du code que vous m'avez créé.
Vous voyez ce qui cloche? je pense que c'est le For each REQUETE
effectivement car tu as maintenant un tableau excel.... requete est ambigu, utilise plutôt cellule
d'autre part quelle est cette variable "myvalue" ?
Mais travaille plutôt sur tes colonnes puisque normalement les données doivent être du m^me type dans chaque colonne
tu repères ces colonnes et tu appliques ton format
nota= si tu met au format "#,##0.00%" pour quoi divise tu par cent ?
ou tu pourrais t'inspirer de cà (si j'ai bien pigé tu as des données sous cette forme: 123,45% de type texte?)
si oui
With Cells(ligne, colonne)
.Value = CSng(.Value)
.NumberFormat = "#,##0.00%"
End With
d'autre part quelle est cette variable "myvalue" ?
Mais travaille plutôt sur tes colonnes puisque normalement les données doivent être du m^me type dans chaque colonne
tu repères ces colonnes et tu appliques ton format
nota= si tu met au format "#,##0.00%" pour quoi divise tu par cent ?
ou tu pourrais t'inspirer de cà (si j'ai bien pigé tu as des données sous cette forme: 123,45% de type texte?)
si oui
With Cells(ligne, colonne)
.Value = CSng(.Value)
.NumberFormat = "#,##0.00%"
End With
Punaise,
Bon aucun des deux code ne marche.
En fait il ne se passe rien comme si le code n'était pas relié à la feuille active de destination (celle qui collecte les données).
En fait mes données arrivent en format:
0.9311 et moi je voudrais 93,11%
Est ce qu'il faut placer le code à un endroit spécifique? moi je l'ai placé tout à la fin du code dans compilation
Bon aucun des deux code ne marche.
En fait il ne se passe rien comme si le code n'était pas relié à la feuille active de destination (celle qui collecte les données).
En fait mes données arrivent en format:
0.9311 et moi je voudrais 93,11%
Est ce qu'il faut placer le code à un endroit spécifique? moi je l'ai placé tout à la fin du code dans compilation
met un extrait de ta feuille de destination avec les arrivées (sans données confidentielles)
sur
https://www.cjoint.com/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse
sur
https://www.cjoint.com/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse