Un p'tit coup de pouce pour une macro sur Excel

De tout et de rien
Répondre
Avatar de l’utilisateur
tiffiew
Vétéranderthal
Vétéranderthal
Messages : 2479
Inscription : mar. 1 mars 2011 22:08
Localisation : Aude
Classement : 55
Dernière étape résolue : 38 - f
Genre : Femme

Un p'tit coup de pouce pour une macro sur Excel

Message par tiffiew »

Hello à tous.

Connaissant tous les génies qui œuvrent sur ce site, je me suis dit qu'il y aurait peut-être quelqu'un pour m'aider. J'aimerais avoir le temps de me mettre à la programmation sur VBA, mais je ne le trouve pas. Ca m'aiderait pourtant souvent à créer des outils de travail au bureau, mais bon, on n'a que 2 bras et 2 jambes...
Là en l’occurrence, j'ai l'impression que ce que je veux faire est très simple, mais je ne sais pas le faire.

J'ai un fichier excel qui reprend le bordereau des prix d'un de nos marchés à bons de commande. Je voudrais créer un bouton qui permet de masquer les lignes où il n'y a pas de quantités saisies. Et je ne sais pas comment le faire :(

Après je voudrais mettre en place un second bouton qui permet d'éditer alors en pdf le bon de commande saisi, mais j'essaye de le faire de mon côté ;)
Vous n’êtes pas autorisé à consulter les pièces jointes insérées dans ce message.
Plus ça rate, plus on a de chances que ça marche. (devise shadok)
Avatar de l’utilisateur
rij99
Enigmatronaute
Enigmatronaute
Messages : 6326
Inscription : dim. 30 juin 2013 21:58
Classement : 46
Dernière étape résolue : 38 - f
Genre : Homme

Re: Un p'tit coup de pouce pour une macro sur Excel

Message par rij99 »

Je ne suis pas un expert Excel, mais il me semble que ceci pourrait répondre à ta question : https://www.commentcamarche.net/forum/a ... e-criteres :)
Avatar de l’utilisateur
tiffiew
Vétéranderthal
Vétéranderthal
Messages : 2479
Inscription : mar. 1 mars 2011 22:08
Localisation : Aude
Classement : 55
Dernière étape résolue : 38 - f
Genre : Femme

Re: Un p'tit coup de pouce pour une macro sur Excel

Message par tiffiew »

Merci rij.
J'essayerai demain. Je crois que nos serveurs au bureau saturent carje galère à rester connectée depuis la maison. Et puis j'ai déjà fait des heures supp, donc ça ira pour aujourd'hui.
Plus ça rate, plus on a de chances que ça marche. (devise shadok)
Avatar de l’utilisateur
mumflo
Posto Erectus
Posto Erectus
Messages : 640
Inscription : mar. 13 nov. 2012 12:26
Localisation : Rouen - France
Classement : 6
Dernière étape résolue : 38 - f
Genre : Femme
Contact :

Re: Un p'tit coup de pouce pour une macro sur Excel

Message par mumflo »

Coucou Tiffiew,

Il y a une vidéo intéressante aussi pour créer des macros :

https://www.youtube.com/watch?v=KTOfA1PyMKA

J'ai créer deux boutons dans ton fichier.
Voir fichier joint version Excel 2010

si tu as besoin, n'hésites pas.
Vous n’êtes pas autorisé à consulter les pièces jointes insérées dans ce message.
Avatar de l’utilisateur
tiffiew
Vétéranderthal
Vétéranderthal
Messages : 2479
Inscription : mar. 1 mars 2011 22:08
Localisation : Aude
Classement : 55
Dernière étape résolue : 38 - f
Genre : Femme

Re: Un p'tit coup de pouce pour une macro sur Excel

Message par tiffiew »

Bonjour,

Merci pour la vidéo. Je connaissais déjà ce système d'enregistrer sa macro (c'est ce que je comptais faire pour transformer ensuite le bon de commande en pdf)

Pour ma problématique de filtrer les lignes vides, en fouillant sur internet, j'ai cherché à comprendre le script du lien proposé par Rij.
J'ai tout compris sauf le morceau : Rows(ligne & ":" & ligne)

J'ai donc créé cette macro dans mon fichier excel (dans le fichier orignal j'ai plusieurs détails estimatifs, d'où le fait de créer une macro par onglet)

Code : Tout sélectionner

Sub Masquer_lignes_vides_RD6009()
Sheets("DE RD6009").Activate
Dim ligne As Integer
For ligne = 6 To 55
If Cells(ligne, 6) = "" Then Rows(ligne & ":" & ligne).EntireRow.Hidden = True
End If
Next
End Sub
Je l'ai associée à un bouton, mais quand je l'active, ça me dit :

Code : Tout sélectionner

Erreur de compilation : End If sans bloc If
Et je ne comprends pas pourquoi car j'ai bien un bloc If...
Plus ça rate, plus on a de chances que ça marche. (devise shadok)
coucouroucoucou
Posto Erectus
Posto Erectus
Messages : 518
Inscription : lun. 3 oct. 2011 18:14
Classement : 30
Dernière étape résolue : 38 - f
Genre : Homme

Re: Un p'tit coup de pouce pour une macro sur Excel

Message par coucouroucoucou »

Coucou, Pb de syntaxe, il me semble. Je ne suis pas un grand spécialiste des macros mais tu dois aller à la ligne après le then si tu veux utiliser le end if
Le partage : Donner c'est donner, repeindre ses volets...
Avatar de l’utilisateur
mumflo
Posto Erectus
Posto Erectus
Messages : 640
Inscription : mar. 13 nov. 2012 12:26
Localisation : Rouen - France
Classement : 6
Dernière étape résolue : 38 - f
Genre : Femme
Contact :

Re: Un p'tit coup de pouce pour une macro sur Excel

Message par mumflo »

Rows(ligne & ":" & ligne) ==> C'est pour sélectionner toute la ligne qui sera cachée.

Essaies en décalant comme ceci :
Sub Masquer_lignes_vides_RD6009()
Sheets("DE RD6009").Activate
Dim ligne As Integer
For ligne = 6 To 55
If Cells(ligne, 6) = "" Then
Rows(ligne & ":" & ligne).EntireRow.Hidden = True
End If
Next
End Sub
Avatar de l’utilisateur
mumflo
Posto Erectus
Posto Erectus
Messages : 640
Inscription : mar. 13 nov. 2012 12:26
Localisation : Rouen - France
Classement : 6
Dernière étape résolue : 38 - f
Genre : Femme
Contact :

Re: Un p'tit coup de pouce pour une macro sur Excel

Message par mumflo »

coucouroucoucou a écrit :Coucou, Pb de syntaxe, il me semble. Je ne suis pas un grand spécialiste des macros mais tu dois aller à la ligne après le then si tu veux utiliser le end if
:oui: :oui:
Avatar de l’utilisateur
tiffiew
Vétéranderthal
Vétéranderthal
Messages : 2479
Inscription : mar. 1 mars 2011 22:08
Localisation : Aude
Classement : 55
Dernière étape résolue : 38 - f
Genre : Femme

Re: Un p'tit coup de pouce pour une macro sur Excel

Message par tiffiew »

Ouh la la. C'est pointu.
Quand j'essayais d'aller à la ligne pour Then, ça me mettait une autre erreur. J'ai finalement fait péter ce "End If" et maintenant ça fonctionne effectivement!
Je ne comprends pas forcément toutes les subtilités de rédaction du coup...

Merci en tout cas pour le coup de main.

EDIT : @mumflo, nos messages se sont croisés, j'allais à la ligne avant Then. Avec ta solution ça marche aussi très bien.
merci également.

Je vais tenter la macro pour tout réafficher par enregistrement, de même que celle pour le pdf :yeah:
Plus ça rate, plus on a de chances que ça marche. (devise shadok)
Avatar de l’utilisateur
mumflo
Posto Erectus
Posto Erectus
Messages : 640
Inscription : mar. 13 nov. 2012 12:26
Localisation : Rouen - France
Classement : 6
Dernière étape résolue : 38 - f
Genre : Femme
Contact :

Re: Un p'tit coup de pouce pour une macro sur Excel

Message par mumflo »

:pouces: :pouces:
Avatar de l’utilisateur
tiffiew
Vétéranderthal
Vétéranderthal
Messages : 2479
Inscription : mar. 1 mars 2011 22:08
Localisation : Aude
Classement : 55
Dernière étape résolue : 38 - f
Genre : Femme

Re: Un p'tit coup de pouce pour une macro sur Excel

Message par tiffiew »

Yep, j'ai à peu près réussi ce que je voulais faire:
- Pour le réaffichage de toutes les lignes, avec un enregistrement c’est facile.
- Pour la conversion en pdf, le seul truc c'est que ça enregistre forcément dans le même dossier et avec le même nom de fichier que lors de l'enregistrement de la macro.

Mais bon, je me pencherai sur le problème un autre jour ;)
Plus ça rate, plus on a de chances que ça marche. (devise shadok)
Avatar de l’utilisateur
mumflo
Posto Erectus
Posto Erectus
Messages : 640
Inscription : mar. 13 nov. 2012 12:26
Localisation : Rouen - France
Classement : 6
Dernière étape résolue : 38 - f
Genre : Femme
Contact :

Re: Un p'tit coup de pouce pour une macro sur Excel

Message par mumflo »

Essaies avec ceci :

Sub conversion_pdf()
'
' conversion_pdf Macro
'
'
Sheets("DE RD6009").Activate
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Nom_du_dossier\Nom_du_document.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub

En rouge : Nom de ton dossier c:\xxx\yyy\ suivi de ton nom de document
Avatar de l’utilisateur
tiffiew
Vétéranderthal
Vétéranderthal
Messages : 2479
Inscription : mar. 1 mars 2011 22:08
Localisation : Aude
Classement : 55
Dernière étape résolue : 38 - f
Genre : Femme

Re: Un p'tit coup de pouce pour une macro sur Excel

Message par tiffiew »

Le hic est là justement. Plusieurs techniciens travaillent sur les marchés. Et chacun y va de son organisation de travail : un certain formalisme dans sa manière de nommer le documents, des habitudes de rangement qui leur sont propres (sur leur disque dur ou sur le serveur...)

J'aurais aimé que le bouton nous amène jusqu'à la boite de dialogue où on choisit ensuite le nom du fichier et le lieu d'enregistrement, mais je ne sais pas si c’est faisable.
Plus ça rate, plus on a de chances que ça marche. (devise shadok)
Avatar de l’utilisateur
mumflo
Posto Erectus
Posto Erectus
Messages : 640
Inscription : mar. 13 nov. 2012 12:26
Localisation : Rouen - France
Classement : 6
Dernière étape résolue : 38 - f
Genre : Femme
Contact :

Re: Un p'tit coup de pouce pour une macro sur Excel

Message par mumflo »

Celle-ci peut être

Sub UneAutre()

Application.GetSaveAsFilename Fichier, "PDF (*.pdf*), *.pdf*"
End Sub
Avatar de l’utilisateur
tiffiew
Vétéranderthal
Vétéranderthal
Messages : 2479
Inscription : mar. 1 mars 2011 22:08
Localisation : Aude
Classement : 55
Dernière étape résolue : 38 - f
Genre : Femme

Re: Un p'tit coup de pouce pour une macro sur Excel

Message par tiffiew »

Le boulot "quotidien" a vite repris le dessus et jouer les profs pour mes deux filles pendant presuqe 7 h par jour a eu raison de mon travail sur mes tableaux. Je garde tout de même ça au chaud pour quand je pourrais m'y remettre (ça me plaît bien d'essayer d'appliquer le peu que je connais à des choses "utiles" pour le taf).
Merci pour les astuces en tout cas! :bisou:
Plus ça rate, plus on a de chances que ça marche. (devise shadok)
Répondre

Revenir à « Blabla »