Macro exportation feuille
Résolu/Fermé
santille
-
20 mars 2014 à 15:05
santille Messages postés 9 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 24 mars 2014 - 24 mars 2014 à 09:09
santille Messages postés 9 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 24 mars 2014 - 24 mars 2014 à 09:09
A voir également:
- Macro exportation feuille
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Macro logiciel - Télécharger - Organisation
- Comment supprimer une feuille sur word - Guide
11 réponses
via55
Messages postés
14476
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
25 septembre 2024
2 729
20 mars 2014 à 19:36
20 mars 2014 à 19:36
Bonsoir
Plutôt que dans les cellules de la feuille 1 il serait plus judicieux de demander le numero à transférer et la feuille de destination par des inputbox
Ta macro peut être adaptée de cette manière
Sub copie()
Dim dlg As Integer, i As Integer, lig As Integer
numero = InputBox("Numero à transférer")
feuille = InputBox("Nom de la feuille de destination")
ok = 0
For n = 1 To Sheets.Count
If Sheets(n).Name = feuille Then ok = 1
Next
If ok = 0 Then MsgBox ("La feuille " & feuille & " n'existe pas"): Exit Sub
dlg = Sheets("Feuil1").Range("A65536").End(xlUp).Row
lig = Sheets(feuille).Range("A65536").End(xlUp).Row
If lig <> 1 Then Sheets(feuille).Range("A4:G" & lig).ClearContents
lig = 2
For i = 2 To dlg
If Sheets("Feuil1").Range("A" & i) = numero Then Sheets("Feuil1").Range("A" & i & ":G" & i).Copy Sheets(feuille).Range("A" & lig)
lig = lig + 1
Next
End Sub
Ensuite tu crées un bouton sur la feuille 1 et tu fais Visualiser le code pour y mettre ceci pour l'execution de la macro :
Private Sub CommandButton1_Click()
copie
End Sub
Cdlmnt
Plutôt que dans les cellules de la feuille 1 il serait plus judicieux de demander le numero à transférer et la feuille de destination par des inputbox
Ta macro peut être adaptée de cette manière
Sub copie()
Dim dlg As Integer, i As Integer, lig As Integer
numero = InputBox("Numero à transférer")
feuille = InputBox("Nom de la feuille de destination")
ok = 0
For n = 1 To Sheets.Count
If Sheets(n).Name = feuille Then ok = 1
Next
If ok = 0 Then MsgBox ("La feuille " & feuille & " n'existe pas"): Exit Sub
dlg = Sheets("Feuil1").Range("A65536").End(xlUp).Row
lig = Sheets(feuille).Range("A65536").End(xlUp).Row
If lig <> 1 Then Sheets(feuille).Range("A4:G" & lig).ClearContents
lig = 2
For i = 2 To dlg
If Sheets("Feuil1").Range("A" & i) = numero Then Sheets("Feuil1").Range("A" & i & ":G" & i).Copy Sheets(feuille).Range("A" & lig)
lig = lig + 1
Next
End Sub
Ensuite tu crées un bouton sur la feuille 1 et tu fais Visualiser le code pour y mettre ceci pour l'execution de la macro :
Private Sub CommandButton1_Click()
copie
End Sub
Cdlmnt
santille
Messages postés
9
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
24 mars 2014
21 mars 2014 à 11:11
21 mars 2014 à 11:11
OK, merci bien, ça fonctionne.
seb
seb
santille
Messages postés
9
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
24 mars 2014
21 mars 2014 à 16:00
21 mars 2014 à 16:00
Cela fonctionne mais 2 problèmes sont apparus :
1/ il faudrait que je puisse répéter l'opération plusieurs fois sur la même feuille. Par exemple inscrire plusieurs numéros dans la même feuille. Ici, il n'additionne pas les lignes, il efface et met le nouveau numéro à la suite...
2/ j'ai nommé des feuilles de 1 à 11. Si je fais directement l'opération d'insertion de numéro sur la Feuille 11 par exemple, cela ne fonctionne pas.
Merci de votre aide.
Sébastien
1/ il faudrait que je puisse répéter l'opération plusieurs fois sur la même feuille. Par exemple inscrire plusieurs numéros dans la même feuille. Ici, il n'additionne pas les lignes, il efface et met le nouveau numéro à la suite...
2/ j'ai nommé des feuilles de 1 à 11. Si je fais directement l'opération d'insertion de numéro sur la Feuille 11 par exemple, cela ne fonctionne pas.
Merci de votre aide.
Sébastien
via55
Messages postés
14476
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
25 septembre 2024
2 729
21 mars 2014 à 19:09
21 mars 2014 à 19:09
1) c'est normal la macro que tu avais fourni efface les lignes avant de copier
si tu ne veux plus d'effacement mais des recopies à la suite il faut :
a) supprimer la ligne If lig <> 1 Then Sheets(feuille).Range("A4:G" & lig).ClearContents
b) remplacer la ligne suivante : lig = 2 par lig=lig+1
2) je ne comprends pas la question : que veux tu dire par opération d'insertion de numéro su la feuille 11 ?
La macro est conçue pour transferer de la feuille 1 à n'importe quelle autre feuille
si tu veux mettre des boutons sur d'autres feuilles et transferer à partir de ces feuilles il faut remplacer les Sheets("Feuil1") dans la macro par ActiveSheet
si tu ne veux plus d'effacement mais des recopies à la suite il faut :
a) supprimer la ligne If lig <> 1 Then Sheets(feuille).Range("A4:G" & lig).ClearContents
b) remplacer la ligne suivante : lig = 2 par lig=lig+1
2) je ne comprends pas la question : que veux tu dire par opération d'insertion de numéro su la feuille 11 ?
La macro est conçue pour transferer de la feuille 1 à n'importe quelle autre feuille
si tu veux mettre des boutons sur d'autres feuilles et transferer à partir de ces feuilles il faut remplacer les Sheets("Feuil1") dans la macro par ActiveSheet
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
santille
Messages postés
9
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
24 mars 2014
21 mars 2014 à 22:42
21 mars 2014 à 22:42
OK pour le point 1.
Mais pour le point 2, je confirme : si j'entre un numéro et que je sélectionne la feuille 11, il n'y pas d'export.
Les lignes comportant ce numéro n'apparaissent pas dans la feuille 11.
merci.
seb
Mais pour le point 2, je confirme : si j'entre un numéro et que je sélectionne la feuille 11, il n'y pas d'export.
Les lignes comportant ce numéro n'apparaissent pas dans la feuille 11.
merci.
seb
via55
Messages postés
14476
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
25 septembre 2024
2 729
21 mars 2014 à 23:23
21 mars 2014 à 23:23
Difficile à dire ce qui cloche sans voir ton fichier !
Es tu sur que le nom que tu rentres dans l'inputbox est bien le même que celui de la feuille 11 ?
As tu essayé avec d'autres feuille 12, 13 etc?
Es tu sur que le nom que tu rentres dans l'inputbox est bien le même que celui de la feuille 11 ?
As tu essayé avec d'autres feuille 12, 13 etc?
santille
Messages postés
9
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
24 mars 2014
22 mars 2014 à 20:24
22 mars 2014 à 20:24
Oui, cela fait avec les autres feuilles.
Y-a-t-il un moyen pour que je puisse te transmettre le fichier étant donné qu'il n'y a pas d'option de pièce jointe?
Eventuellement ton mail?
Merci encore.
seb
Y-a-t-il un moyen pour que je puisse te transmettre le fichier étant donné qu'il n'y a pas d'option de pièce jointe?
Eventuellement ton mail?
Merci encore.
seb
via55
Messages postés
14476
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
25 septembre 2024
2 729
22 mars 2014 à 21:14
22 mars 2014 à 21:14
Bonsoir
Tu postes ton fichier allégé et anonymé sur transfernow.net ou cjoint.com et tu indiques ensuite ici le lien fourni
Cdlmnt
Tu postes ton fichier allégé et anonymé sur transfernow.net ou cjoint.com et tu indiques ensuite ici le lien fourni
Cdlmnt
santille
Messages postés
9
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
24 mars 2014
22 mars 2014 à 22:24
22 mars 2014 à 22:24
OK.
Voici le lien :
transfernow.net/fr/3s4q90869r86
Merci.
seb
Voici le lien :
transfernow.net/fr/3s4q90869r86
Merci.
seb
via55
Messages postés
14476
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
25 septembre 2024
2 729
Modifié par via55 le 22/03/2014 à 23:43
Modifié par via55 le 22/03/2014 à 23:43
Voilà le fichier
Légèrement modifié la macro pour que la recherche de la dernière ligne vide fonctionne sur toutes versions
J'ai également shunté la ligne de macro qui effaçait les lignes précédentes en mettant un ' devant qu'il suffira de supprimer si tu veux de nouveau rendre cette ligne active
https://www.transfernow.net/files/?utm_source=56jwf32lyfg0&utm_medium=&utm_content=fr
Le transfert se fait bien sur toutes les feuilles y compris sur la Feuil11 que j'ai crée
Cdlmnt
Légèrement modifié la macro pour que la recherche de la dernière ligne vide fonctionne sur toutes versions
J'ai également shunté la ligne de macro qui effaçait les lignes précédentes en mettant un ' devant qu'il suffira de supprimer si tu veux de nouveau rendre cette ligne active
https://www.transfernow.net/files/?utm_source=56jwf32lyfg0&utm_medium=&utm_content=fr
Le transfert se fait bien sur toutes les feuilles y compris sur la Feuil11 que j'ai crée
Cdlmnt
santille
Messages postés
9
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
24 mars 2014
24 mars 2014 à 09:09
24 mars 2014 à 09:09
Super.
Je crois que j'ai tout ce qu'il me fallait.
Merci bien de ton aide et bonne journée.
seb
Je crois que j'ai tout ce qu'il me fallait.
Merci bien de ton aide et bonne journée.
seb