Fusionner plusieurs sub
Résolu/Fermé
Didier
-
15 juil. 2013 à 16:14
Le Pingou Messages postés 12222 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 3 décembre 2024 - 17 juil. 2013 à 20:34
Le Pingou Messages postés 12222 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 3 décembre 2024 - 17 juil. 2013 à 20:34
A voir également:
- Fusionner plusieurs sub
- Comment fusionner des pdf sans logiciel - Guide
- Fusionner plusieurs fichiers excel - Guide
- Fusionner 2 cellules excel - Guide
- Fusionner audio - Télécharger - Audio & Musique
- Fusionner calendrier outlook et gmail - Guide
12 réponses
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
16 juil. 2013 à 12:48
16 juil. 2013 à 12:48
Bonjour,
Simplement le mettre sur https://www.cjoint.com/ et poster le lien !
Simplement le mettre sur https://www.cjoint.com/ et poster le lien !
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
16 juil. 2013 à 23:14
16 juil. 2013 à 23:14
Bonjour,
Lancer la procédure par touche [Ctrl+Shift+W].
Au passage j'ai adapté vos procédures voir module [lepingou] avec procédure principale [classeurparunité] (les anciennes sont dans le module [Module1]).
Votre fichier : https://www.cjoint.com/?3Gqxnv3FJbf
Lancer la procédure par touche [Ctrl+Shift+W].
Au passage j'ai adapté vos procédures voir module [lepingou] avec procédure principale [classeurparunité] (les anciennes sont dans le module [Module1]).
Votre fichier : https://www.cjoint.com/?3Gqxnv3FJbf
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
15 juil. 2013 à 16:29
15 juil. 2013 à 16:29
coucou,
comme je n'ai pas tout compris, je vais te donner un bout de solution :
Dim c As String
Dim b, d As Integer
Sub 1()
Dim objWorkbookCible As Workbook
Dim objworkbooksource As Workbook
Set objworkbooksource = ActiveWorkbook
Worksheets(7).Copy
Set objWorkbookCible = ActiveWorkbook
MaDate = Format(Date, "YYYY-MM-DD")
ActiveWorkbook.SaveAs Filename:="C:\Dossier1\" & "Transmission 1 " & MaDate & ".xls"
b= 3
Cells(b, 7).Select
do while b< 300
if cells(b,7) ="" then
ActiveSheet.Columns(6).EntireColumn.Delete
ActiveSheet.Columns(26).EntireColumn.Delete
ActiveSheet.Columns(25).EntireColumn.Delete
ActiveSheet.Columns(24).EntireColumn.Delete
ActiveSheet.Columns(23).EntireColumn.Delete
ActiveSheet.Columns(22).EntireColumn.Delete
else
Cells(b, 22).Select
d = Selection.Value
If d = 4 Then
ActiveSheet.Rows(b).EntireRow.Delete
b = b - 1
End If
b=b+1
loop
End Sub
comme je n'ai pas tout compris, je vais te donner un bout de solution :
Dim c As String
Dim b, d As Integer
Sub 1()
Dim objWorkbookCible As Workbook
Dim objworkbooksource As Workbook
Set objworkbooksource = ActiveWorkbook
Worksheets(7).Copy
Set objWorkbookCible = ActiveWorkbook
MaDate = Format(Date, "YYYY-MM-DD")
ActiveWorkbook.SaveAs Filename:="C:\Dossier1\" & "Transmission 1 " & MaDate & ".xls"
b= 3
Cells(b, 7).Select
do while b< 300
if cells(b,7) ="" then
ActiveSheet.Columns(6).EntireColumn.Delete
ActiveSheet.Columns(26).EntireColumn.Delete
ActiveSheet.Columns(25).EntireColumn.Delete
ActiveSheet.Columns(24).EntireColumn.Delete
ActiveSheet.Columns(23).EntireColumn.Delete
ActiveSheet.Columns(22).EntireColumn.Delete
else
Cells(b, 22).Select
d = Selection.Value
If d = 4 Then
ActiveSheet.Rows(b).EntireRow.Delete
b = b - 1
End If
b=b+1
loop
End Sub
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
15 juil. 2013 à 23:13
15 juil. 2013 à 23:13
Bonjour,
Juste au passage, il me semble que la [source] et [cible] font référence au même classeur.... !
Juste au passage, il me semble que la [source] et [cible] font référence au même classeur.... !
Set objworkbooksource = ActiveWorkbook Worksheets(7).Copy Set objWorkbookCible = ActiveWorkbook
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Tout d'abord merci d'avoir jeté un oeil sur mon cas ;)
Donc pour préciser, le code que j'ai mis marche très bien, le seul problème c'est que je veux le faire 3 fois en générant à chaque fois un fichier où je vais supprimer des lignes et colonnes différentes (pour les colonnes je lui ai mis manuellement et pour les lignes c'est la partie qui va chercher la valeur en colonne 22). Le tout en passant à la tâche suivante quand il arrive en bas du tableau (donc quand il détecte une ligne vide)
melanie1324 : dans ta réponse le problème est qu'il va me supprimer des colonnes à chaque fois qu'il détecte une ligne vierge, du coup à la fin toutes mes colonnes à partir de la 6ème seront supprimée. (j'ai rajouté un End if avant le b=b+1 à la fin)
Le pingou : possible, c'est un bout de code que j'ai récupéré sur un forum et là j'avoue que je ne comprends pas tout ^^
Je crois que le plus simple serait de vous montrer le tableau mais je ne vois pas où on peu joindre un fichier excel (peut être faut il être enregistré ?)
Tout d'abord merci d'avoir jeté un oeil sur mon cas ;)
Donc pour préciser, le code que j'ai mis marche très bien, le seul problème c'est que je veux le faire 3 fois en générant à chaque fois un fichier où je vais supprimer des lignes et colonnes différentes (pour les colonnes je lui ai mis manuellement et pour les lignes c'est la partie qui va chercher la valeur en colonne 22). Le tout en passant à la tâche suivante quand il arrive en bas du tableau (donc quand il détecte une ligne vide)
melanie1324 : dans ta réponse le problème est qu'il va me supprimer des colonnes à chaque fois qu'il détecte une ligne vierge, du coup à la fin toutes mes colonnes à partir de la 6ème seront supprimée. (j'ai rajouté un End if avant le b=b+1 à la fin)
Le pingou : possible, c'est un bout de code que j'ai récupéré sur un forum et là j'avoue que je ne comprends pas tout ^^
Je crois que le plus simple serait de vous montrer le tableau mais je ne vois pas où on peu joindre un fichier excel (peut être faut il être enregistré ?)
Tiens je ne connaissais pas ce site de partage de fichier, merci ^^
Donc j'ai mis le fichier, il est dispo à cette adresse :
http://cjoint.com/?0Gqoo7X3uFd
Bien entendu j'ai remplacé le contenu de mes feuilles par des suites de caractères au hasard vue que c'était un document de travail.
Donc dedans il y a 4 sub : les 3 que je voudrais fusionner en une seule et celle de melanie1324 que j'ai nommé test.
Donc j'ai mis le fichier, il est dispo à cette adresse :
http://cjoint.com/?0Gqoo7X3uFd
Bien entendu j'ai remplacé le contenu de mes feuilles par des suites de caractères au hasard vue que c'était un document de travail.
Donc dedans il y a 4 sub : les 3 que je voudrais fusionner en une seule et celle de melanie1324 que j'ai nommé test.
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
16 juil. 2013 à 15:32
16 juil. 2013 à 15:32
Bonjour,
Merci pour le fichier.
A première vue vous avez beaucoup de cellules fusionnées ce qui n'est pas souhaitable (difficulté de traitement).
En survolant vos procédures il n'est pas possible de déterminer à qu'elle feuille elles sont appliquées, pouvez-vous le préciser !
Merci pour le fichier.
A première vue vous avez beaucoup de cellules fusionnées ce qui n'est pas souhaitable (difficulté de traitement).
En survolant vos procédures il n'est pas possible de déterminer à qu'elle feuille elles sont appliquées, pouvez-vous le préciser !
Pour les cellules fusionnées, je ne vais pas pouvoir faire autrement malheureusement :/
Les procédures sont appliquées à la feuille 2013, mais de toute façon pour l'exemple j'ai copié toutes les feuilles à l'identique ;)
Les procédures sont appliquées à la feuille 2013, mais de toute façon pour l'exemple j'ai copié toutes les feuilles à l'identique ;)
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
Modifié par Le Pingou le 16/07/2013 à 15:43
Modifié par Le Pingou le 16/07/2013 à 15:43
Bonjour,
En relisant votre premier poste, je suppose que vous désirez, sur la base de la feuille [2013], créer 3 nouveaux classeurs avec une seule feuille formatée avec les informations nécessaire à chacune des 3 unités. Et ceci en une seule commande .... !
Est-ce bien cela..... ?
Salutations.
Le Pingou
En relisant votre premier poste, je suppose que vous désirez, sur la base de la feuille [2013], créer 3 nouveaux classeurs avec une seule feuille formatée avec les informations nécessaire à chacune des 3 unités. Et ceci en une seule commande .... !
Est-ce bien cela..... ?
Salutations.
Le Pingou
Exactement, pour l'instant je suis obligé de le faire indépendamment en exécutant l'une après l'autre les 3 macros, mais j'aimerais pouvoir le faire en un seul clic ^^
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
16 juil. 2013 à 16:02
16 juil. 2013 à 16:02
Bonjour,
Merci, c'est clair, patience.
Merci, c'est clair, patience.
Bonjour,
Je viens juste d'avoir le temps de regarder.
et bien, comment dire, euh : LA CLASSE !!!!
Maintenant je vais m'amuser à lire le code pour comprendre comment c'est possible de faire une macro qui marche nickel ^^
Merci beaucoup !!!
Je viens juste d'avoir le temps de regarder.
et bien, comment dire, euh : LA CLASSE !!!!
Maintenant je vais m'amuser à lire le code pour comprendre comment c'est possible de faire une macro qui marche nickel ^^
Merci beaucoup !!!
Le Pingou
Messages postés
12222
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
3 décembre 2024
1 452
17 juil. 2013 à 20:34
17 juil. 2013 à 20:34
Bonjour,
Merci.
En marge, les 3 procédures sont utilisables séparément sans modification, il suffit de la lancer directement par un bouton commande ...¨
Salutations
Le Pingou
Merci.
En marge, les 3 procédures sont utilisables séparément sans modification, il suffit de la lancer directement par un bouton commande ...¨
Salutations
Le Pingou