Est-il possible de créer des macros à la chaîne ?
Résolu/Fermé
SOMUM
Messages postés
28
Date d'inscription
mardi 15 mars 2016
Statut
Membre
Dernière intervention
1 août 2016
-
16 mars 2016 à 13:20
SOMUM Messages postés 28 Date d'inscription mardi 15 mars 2016 Statut Membre Dernière intervention 1 août 2016 - 6 avril 2016 à 09:19
SOMUM Messages postés 28 Date d'inscription mardi 15 mars 2016 Statut Membre Dernière intervention 1 août 2016 - 6 avril 2016 à 09:19
A voir également:
- Est-il possible de créer des macros à la chaîne ?
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer un groupe whatsapp - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte instagram sur google - Guide
9 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
16 mars 2016 à 13:49
16 mars 2016 à 13:49
Bonjour
tu peux faire ca avec un seul bouton qui transfèrera tout en 1 fois
c'est bien les cellules colonne A à M (sauf J et L) que tu veux recopier ?
combien de lignes concernées ( 500, 1000, 10000...) ?
Si je regarde ta macro, il ne s'agit pas de 2 fichiers mais de 2 feuilles du même classeur
au besoin
Dans l’attente
tu peux faire ca avec un seul bouton qui transfèrera tout en 1 fois
c'est bien les cellules colonne A à M (sauf J et L) que tu veux recopier ?
combien de lignes concernées ( 500, 1000, 10000...) ?
Si je regarde ta macro, il ne s'agit pas de 2 fichiers mais de 2 feuilles du même classeur
au besoin
Mettre le classeur (ou estrait) sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci par un clic droit sur le lien proposé dans le message de réponse
Dans l’attente
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 709
16 mars 2016 à 13:51
16 mars 2016 à 13:51
Bonjour,
Ou alors est-il possible de créer une macro qui détecterai "automatiquement" la dernière ligne renseignée dans le registre afin d'en copier les données vers le rapport/attestation.
Oui et avec un seul bouton a mettre sur la feuille rapport/attestation, dans format, propriete, decocher: Imprimer l'objet
nom de feuille et premiere ligne d'info (ici derlig=2) a adapter
Ou alors est-il possible de créer une macro qui détecterai "automatiquement" la dernière ligne renseignée dans le registre afin d'en copier les données vers le rapport/attestation.
Oui et avec un seul bouton a mettre sur la feuille rapport/attestation, dans format, propriete, decocher: Imprimer l'objet
nom de feuille et premiere ligne d'info (ici derlig=2) a adapter
Sub Bouton1_Cliquer() With Worksheets("Registre") derlig = .Range("A" & Rows.Count).End(xlUp).Row If derlig < 2 Then derlig = 2 TInfos = .Range("A" & derlig & ":M" & derlig) End With With Sheets("RAPPORT VP") .Range("BN1").Resize(, 13) = TInfos .Range("V13:AC13").Select End With End Sub
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 16/03/2016 à 14:12
Modifié par michel_m le 16/03/2016 à 14:12
F89:
On ne recopie pas les cellules colonnes J et L....
On ne recopie pas les cellules colonnes J et L....
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 709
>
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
16 mars 2016 à 15:06
16 mars 2016 à 15:06
Bonjour,
Ok, juste une petite modif
'c'est bien les cellules colonne A à M (sauf J et L)
Ok, juste une petite modif
'c'est bien les cellules colonne A à M (sauf J et L)
Sub Bouton1_Cliquer() With Worksheets("Registre") derlig = .Range("A" & Rows.Count).End(xlUp).Row TInfos = .Range("A" & derlig & ":I" & derlig) End With With Sheets("RAPPORT VP") .Range("BN1").Resize(, 9) = TInfos .Range("BX1") = Worksheets("Registre").Range("K" & derlig) .Range("BZ1") = Worksheets("Registre").Range("M" & derlig) .Range("V13:AC13").Select End With End Sub
SOMUM
Messages postés
28
Date d'inscription
mardi 15 mars 2016
Statut
Membre
Dernière intervention
1 août 2016
16 mars 2016 à 15:17
16 mars 2016 à 15:17
Oui, c'est bien ça. Et c'est sur 1500 lignes ;)
SOMUM
Messages postés
28
Date d'inscription
mardi 15 mars 2016
Statut
Membre
Dernière intervention
1 août 2016
16 mars 2016 à 15:28
16 mars 2016 à 15:28
Je viens de tester; ça marche presque parfaitement, à première vue quelques infos qui ne sont pas au bon endroit. mais c'est très encourageant :p
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 709
>
SOMUM
Messages postés
28
Date d'inscription
mardi 15 mars 2016
Statut
Membre
Dernière intervention
1 août 2016
16 mars 2016 à 15:30
16 mars 2016 à 15:30
Re,
Justement, voir f894009 16 mars 2016 à 15:29
Justement, voir f894009 16 mars 2016 à 15:29
SOMUM
Messages postés
28
Date d'inscription
mardi 15 mars 2016
Statut
Membre
Dernière intervention
1 août 2016
Modifié par SOMUM le 16/03/2016 à 14:03
Modifié par SOMUM le 16/03/2016 à 14:03
Oh purée !! Vous êtes payés pour répondre aussi vite et avec autant de solutions :p ?
J'entrevoie de belles pistes dans vos soluces, mais pour info je vous envoi quand même le fichier. C'est un p'tit peu mon "oeuvre d'art", car je suis vraiment néophyte sur Excel.
http://www.cjoint.com/c/FCqm7pGY4qu
Encore merci !!
ps : j'ai oublié de préciser que mes camarades de travail sont des "b**nes" en informatique. Et comme ils font pleins d'erreurs de saisie, voilà le pourquoi du comment.
J'entrevoie de belles pistes dans vos soluces, mais pour info je vous envoi quand même le fichier. C'est un p'tit peu mon "oeuvre d'art", car je suis vraiment néophyte sur Excel.
http://www.cjoint.com/c/FCqm7pGY4qu
Encore merci !!
ps : j'ai oublié de préciser que mes camarades de travail sont des "b**nes" en informatique. Et comme ils font pleins d'erreurs de saisie, voilà le pourquoi du comment.
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 709
16 mars 2016 à 15:29
16 mars 2016 à 15:29
Re,
Votre ficher modifie: https://www.cjoint.com/c/FCqoC7Db4jf
Votre ficher modifie: https://www.cjoint.com/c/FCqoC7Db4jf
SOMUM
Messages postés
28
Date d'inscription
mardi 15 mars 2016
Statut
Membre
Dernière intervention
1 août 2016
16 mars 2016 à 16:25
16 mars 2016 à 16:25
j'ai comme qui dirait l'impression que c'est perfecto !!! :D
Félicitation de ma responsable :p
Félicitation de ma responsable :p
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 709
>
SOMUM
Messages postés
28
Date d'inscription
mardi 15 mars 2016
Statut
Membre
Dernière intervention
1 août 2016
16 mars 2016 à 18:07
16 mars 2016 à 18:07
Re,
Disons que ca correspond a votre demande. Que ce passera-t-il si il y a un oubli et qu'il faille revenir sur une ligne qui n'est plus la derniere ???
Disons que ca correspond a votre demande. Que ce passera-t-il si il y a un oubli et qu'il faille revenir sur une ligne qui n'est plus la derniere ???
SOMUM
Messages postés
28
Date d'inscription
mardi 15 mars 2016
Statut
Membre
Dernière intervention
1 août 2016
17 mars 2016 à 09:24
17 mars 2016 à 09:24
Revenir sur une ligne de registre, c'est assez rare, c'est plutôt au niveau des attestations que c'était souvent plein d'erreurs de saisie.
A ce sujet, j'aimerai "enregistrer sous" seulement la feuille "Rapport" sans la macro, comme un fichier excel simple, est-ce possible ? Actuellement, une boite de dialogue s'ouvre en me demandant si oui ou non, je veux enregistrer le Projet VB. Si je clique non, ça veut enregistrer avec les macro, mais ça bug (normal), si je clique oui, ça enregistre correctement (hormis le logo de la boîte qui fou le camps !?!!?). Est-il possible de faire en sorte qu'il n'y est pas de boite de dialogue qui s'ouvre ?
Mon code pour enregistrer sous :
Encore merci :)
A ce sujet, j'aimerai "enregistrer sous" seulement la feuille "Rapport" sans la macro, comme un fichier excel simple, est-ce possible ? Actuellement, une boite de dialogue s'ouvre en me demandant si oui ou non, je veux enregistrer le Projet VB. Si je clique non, ça veut enregistrer avec les macro, mais ça bug (normal), si je clique oui, ça enregistre correctement (hormis le logo de la boîte qui fou le camps !?!!?). Est-il possible de faire en sorte qu'il n'y est pas de boite de dialogue qui s'ouvre ?
Mon code pour enregistrer sous :
Sub EnregistreSous() Dim extension As String Dim chemin As String, nomfichier As String Dim style As Integer Application.ScreenUpdating = False ThisWorkbook.ActiveSheet.Copy extension = ".xls" chemin = "C:\Users\user\Desktop\TEST_EAD\" nomfichier = ActiveSheet.Range("D18") & "_" & Range("F24") & extension With ActiveWorkbook .ActiveSheet.DrawingObjects(1).Delete .SaveAs Filename:=chemin & nomfichier .Close End With End Sub
Encore merci :)
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 709
>
SOMUM
Messages postés
28
Date d'inscription
mardi 15 mars 2016
Statut
Membre
Dernière intervention
1 août 2016
17 mars 2016 à 10:08
17 mars 2016 à 10:08
Bonjour,
Ok, je regarde la chose
Sur quel excel travaillez vous, votre fichier d'origine est un xls et y a pas de boite dialogue projet VB ??
A+
Ok, je regarde la chose
Sur quel excel travaillez vous, votre fichier d'origine est un xls et y a pas de boite dialogue projet VB ??
A+
SOMUM
Messages postés
28
Date d'inscription
mardi 15 mars 2016
Statut
Membre
Dernière intervention
1 août 2016
17 mars 2016 à 10:48
17 mars 2016 à 10:48
Excel 2010, en fait je voulais plutôt dire à la place de "Est-il possible de faire en sorte qu'il n'y est pas de boite de dialogue qui s'ouvre ?", c'est que j'aimerai qu'il n'y est pas de pop up qui me demande si oui ou non je veux enregistrer avec les macro, je veux uniquement le rapport/attestation avec les données, limite sans formule.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
JvDo
Messages postés
1978
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
28 septembre 2020
858
16 mars 2016 à 16:07
16 mars 2016 à 16:07
Bonjour à tous,
Une petite alerte sur le contenu des fichiers échangés.
Il y a des noms, des immatriculations, des modèles d'attestation avec cachet...
Ça ne me semble pas raisonnable de laisser ce genre de fichier en ligne.
Cordialement
Une petite alerte sur le contenu des fichiers échangés.
Il y a des noms, des immatriculations, des modèles d'attestation avec cachet...
Ça ne me semble pas raisonnable de laisser ce genre de fichier en ligne.
Cordialement
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 709
16 mars 2016 à 16:11
16 mars 2016 à 16:11
Bonjour,
Eh oui! Il semblerait que quelques personnes soient iimprudentes
Eh oui! Il semblerait que quelques personnes soient iimprudentes
SOMUM
Messages postés
28
Date d'inscription
mardi 15 mars 2016
Statut
Membre
Dernière intervention
1 août 2016
Modifié par SOMUM le 16/03/2016 à 16:26
Modifié par SOMUM le 16/03/2016 à 16:26
Ce sont des immat' au hasard. Rien n'est privé dans les données, hormis nos noms et le tampon, j'avoue :(
Edit : J'ai effacé, merci.
Edit : J'ai effacé, merci.
SOMUM
Messages postés
28
Date d'inscription
mardi 15 mars 2016
Statut
Membre
Dernière intervention
1 août 2016
17 mars 2016 à 09:26
17 mars 2016 à 09:26
Merci beaucoup à tous pour vos réponses :)
cvasse
Messages postés
19
Date d'inscription
vendredi 11 mars 2016
Statut
Membre
Dernière intervention
16 mars 2016
Modifié par cvasse le 16/03/2016 à 13:40
Modifié par cvasse le 16/03/2016 à 13:40
Bonjour Bernard,
Il te suffit d'associer la même macro à tous tes boutons.
Par contre, il te faudra peut tester la ligne du bouton sur lequel tu as appuyé avec l'instruction
'Récuperation de l'adresse du bouton
cellule = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address
Attention, l'adresse sera de la forme $H$6 pour H6.
A toi ensuite d'adapter ta macro et de remplacer les cellules en dur par rapport à la ligne sur laquelle tu étais.
Pour récupérer le numéro de ligne à partir de l'adresse, tu peux faire :
'Détermination de la ligne à modifier
For i = 1 To Len(cellule)
If IsNumeric(Mid(cellule, i, 1)) Then
nombre = Val(Mid(cellule, i, Len(cellule) - i + 1))
num_ligne = nombre
i = Len(cellule)
End If
Next
J'espère que cela répond à ton problème.
Il te suffit d'associer la même macro à tous tes boutons.
Par contre, il te faudra peut tester la ligne du bouton sur lequel tu as appuyé avec l'instruction
'Récuperation de l'adresse du bouton
cellule = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address
Attention, l'adresse sera de la forme $H$6 pour H6.
A toi ensuite d'adapter ta macro et de remplacer les cellules en dur par rapport à la ligne sur laquelle tu étais.
Pour récupérer le numéro de ligne à partir de l'adresse, tu peux faire :
'Détermination de la ligne à modifier
For i = 1 To Len(cellule)
If IsNumeric(Mid(cellule, i, 1)) Then
nombre = Val(Mid(cellule, i, Len(cellule) - i + 1))
num_ligne = nombre
i = Len(cellule)
End If
Next
J'espère que cela répond à ton problème.
Bonjour
voila déjà une modife de ta macro
A+
Maurice
voila déjà une modife de ta macro
Sub Rec1() Range("A9,B9,C9,D9,E9,F9,G9,H9,I9,K9,M9").Copy Sheets("RAPPORT VP").Range("BN1").PasteSpecial xlPasteValues Application.CutCopyMode = False End Sub
A+
Maurice
Bonjour
pour copier la dernier ligne
A+
Maurice
pour copier la dernier ligne
Sub RecLigne() L = Sheets("REGISTRE").Cells(Rows.Count, 2).End(xlUp).Row Sheets("REGISTRE").Range("A" & L & ":I" & L & ",K" & L & ",M" & L).Copy Range("BN1").PasteSpecial xlPasteValues With Application .CutCopyMode = False .Goto [A1], True End With End Sub
A+
Maurice
16 mars 2016 à 13:57