XL pour MAC excel 2011 à 2016 : gros ralentissement macro et bug bouton

  • Initiateur de la discussion Initiateur de la discussion marty
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

marty

XLDnaute Nouveau
Bonjour,

Je viens vers vous car je rencontre 3 problèmes en tentant d'adapter un fichier excel 2011 qui marchait très bien sur la version 2016.
Je précise que je suis sur Mac.

Problème 1 :
J'avais créé une macro sur excel 2011 pour réduire et masquer des cellules.
La macro marchait parfaitement sur excel 2011 et était très rapide.

En passant sur 2016, j'ai un énorme ralentissement : 5 fois plus long...

Voici la macro :

Sub Masque_lig() ' masque les lignes ou la valeur dans les cellules de la colonne I sont =0
Application.ScreenUpdating = False
Sheets("DEVIS OK").Select
Set a = Range("I28", Range("I170").End(xlUp))
Set b = Range("J28", Range("J170").End(xlUp))
Union(a, b).Select
For Each cellule In Selection
If cellule.Value = "0" Then cellule.EntireRow.Hidden = True
Next cellule
Range("C26:F200").Select
Selection.NumberFormat = ";;;"
Application.ScreenUpdating = True
Range("B27").Select
End Sub

Quelqu'un aurait une idée ?

2nd problème :
Mes boutons affectant les macros sont devant des cellules dans un coin de la feuille.
Sur 2011, pas de soucis : je passais la souris sur le bouton et il comprenait que je souhaitais cliquer dessus.
Sur 2016 : je passe la souris sur le bouton, clique mais la souris me sélectionne la cellule en dessous...


3ème problème : ma macro créant un pdf automatique bugue complètement et plante excel 2016 :

Sub RecordPDF()
Application.ScreenUpdating = False
Dim LeRep As String, LeNom As String, LeClient As String, LaDate As String
LeRep = ThisWorkbook.Path & Application.PathSeparator
LeNom = ThisWorkbook.Name
LeNom = Left(LeNom, Len(LeNom) - 4)
LaDate = Format(Date, "ddmmyyyy")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
LeRep & LeNom & "_" & LaDate & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Application.ScreenUpdating = True
End Sub

Est ce que quelqu'un a déjà rencontré ce problème ?

Un grand merci d'avance, pour vos réponses !

Kiné.
 
Dernière édition:
Bonjour le fil, le forum

Test OK sur PC
(macro pour masquer ligne zéro)
VB:
Sub Masque_Demasque_Ligne_I_zero()
Dim x&: x = Application.Columns.Count
Application.ScreenUpdating = False
With Range("I2", Range("I" & Rows.Count).End(xlUp))
    Set p = .Offset(, x - 9)
End With
p.Formula = "=IF(I2=0,""$²$"",9)": p.Value = p.Value
Columns(x).SpecialCells(2, 2).EntireRow.Hidden = Not Columns(x).SpecialCells(2, 2).EntireRow.Hidden
End Sub[code]

Test OK sur mon PC
(macro pour Export en PDF)
VB:
Sub RecordPDF()
Application.ScreenUpdating = False
Dim LeRep$, nf$, Fichier$
LeRep = ThisWorkbook.Path & Application.PathSeparator
nf = ThisWorkbook.Name: nf = Mid(nf, 1, InStrRev(nf, ".") - 1)
Fichier = LeRep & nf & Format(Date, """_""ddmmyyyy"".pdf""")
ActiveSheet.ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=Fichier, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True
End Sub
 
Dernière édition:
Bonjour Staple1600,

Merci beaucoup ça fonctionne en effet sur mon Mac et c'est super rapide ! Bravo !

En revanche est-il possible que la macro n'intervienne qu'à partir de la ligne 29 et pas au delà de la ligne 154. Je m'explique : il y a un haut de page avec des infos concernant la date, le client, le projet et en bas le total avec des mentions que l'on ajoute, qui disparaissent avec votre macro.
Avec ma macro, le bas de page doit remonter d'autant qu'il y a dans la liste de lignes masquées.

Autre question/remarque : mon code permettait de ne pas faire disparaitre les lignes nommée "PRODUCTION" dans le fichier joint (ligne 28, 50, 79...) qui sont en quelques sortes des têtes de chapitre qui calculent le total de chaque chapitre (je ne sais pas si c'est très clair).

Merci beaucoup !
 
Dernière édition:
Re

Et la macro PDF (voir mon précédent message)
Elle fonctionne aussi.

Pour la première macro, je te laisse essayer de l'adapter
(Faut bien que tu bosses un peu sur la résolution de ta question, non ? 😉 )
Je repasse plus tard voir comment tu t'en seras sorti.

NB: Tu as remarqué que la macro a un double effet ?
Tu l’exécutes une fois: les lignes sont masquées
Tu l’exécutes une seconde fois : les lignes sont affichées
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
547
Réponses
4
Affichages
243
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
361
Réponses
17
Affichages
1 K
Réponses
7
Affichages
163
Retour