Page 1 sur 1

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

MessagePosté: Mer 8 Avr 2020 18:25
de 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é ;)

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

MessagePosté: Mer 8 Avr 2020 18:42
de 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 :)

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

MessagePosté: Mer 8 Avr 2020 18:46
de 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.

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

MessagePosté: Jeu 9 Avr 2020 12:32
de 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.

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

MessagePosté: Jeu 9 Avr 2020 15:24
de 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...

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

MessagePosté: Jeu 9 Avr 2020 15:59
de 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

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

MessagePosté: Jeu 9 Avr 2020 16:01
de 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

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

MessagePosté: Jeu 9 Avr 2020 16:02
de 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:

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

MessagePosté: Jeu 9 Avr 2020 16:04
de 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:

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

MessagePosté: Jeu 9 Avr 2020 16:31
de mumflo
:pouces: :pouces:

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

MessagePosté: Jeu 9 Avr 2020 18:04
de 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 ;)

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

MessagePosté: Jeu 9 Avr 2020 18:24
de 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

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

MessagePosté: Jeu 9 Avr 2020 18:41
de 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.

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

MessagePosté: Jeu 9 Avr 2020 19:10
de mumflo
Celle-ci peut être

Sub UneAutre()

Application.GetSaveAsFilename Fichier, "PDF (*.pdf*), *.pdf*"
End Sub

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

MessagePosté: Mer 27 Mai 2020 21:04
de 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: