Macro Impression

Bonjour à tous,

Une âme charitable du nom de MimiMathy m’avait bien aidé sur un fichier avec des macros dans un sujet précédent. (cf : http://forum.formuleexcel.com/t/vba-macro-masque/2882

Cependant ce topic est aujourd’hui clos et les problèmes reviennent…

Je me permet donc de redemander de l’aide à la communauté.

Un grand merci par avance pour tout !

Voici le fichier ci-joint,Emargement - 2018.xls (283,5 Ko)

Bonjour,

Ou est le problème??
Sur mon PC cela semble bien fonctionner :wink:

1 J'aime

Merci de ta réponse !

Regarde, quand je change la valeur de la cellule D1 - qui déclenche une macro de filtre - de la feuille “Imprimer” (afin de filtrer la feuille Effectif selon les valeurs prises dans la feuille Données) j’ai ce message d’erreur :

C’est très embêtant…

Re,

Il me semble que la macro est opérationnelle sur la valeur “X”
Or, en ligne 46 et 54 il y a
X - coupe autom et EVO
D’où le bug :stuck_out_tongue_winking_eye:

Re,

En regardant bien tu as un filtre qui masque les lignes 7 à 13 sur la feuille “Effectif” —> “Encadrant”
et comme la boucle part de la fin jusqu’à la ligne 7, il ne trouve pas et c’est le bug

Salut!

Du coup il faut que je supprime coupe autom et Evo et que je fasse finir la boucle en ligne 14?
Je sens que je vais faire n’importe quoi haha

J’ai modifié le code pour que la boucle s’arrête en ligne 14 cependant j’ai toujours le message d’erreur :

Sub Worksheet_Calculate()
Dim o As Worksheet
Dim COL%, LI%, l%, Dl%
Dim PL As Range, CEL As Range
Dim Site$

Application.ScreenUpdating = False
Sheets(“Effectif”).Activate
Set o = Worksheets(“Effectif”)
o.Rows(“1:100”).Hidden = False
o.Columns(“C:M”).Hidden = False
Dl = Range(“B” & Rows.Count).End(xlUp).Row
For COL = 5 To 11
If o.Cells(2, COL).Value = “” Then o.Columns(COL).Hidden = True
Next COL

For LI = Dl To 14 Step -1
  Set PL = o.Range(o.Cells(LI, 5), o.Cells(LI, 11)).SpecialCells(xlCellTypeVisible)
  For Each CEL In PL
    If CEL.Value <> "" Then GoTo suite
  Next CEL
  o.Rows(LI).Hidden = True

suite:
Next LI

Site = VBA.LCase(o.Range(“D2”).Value)
If Site = “quai a et point m” Then
For l = Dl To 14 Step -1
If Rows(l).Hidden = False Then
If VBA.LCase(o.Range(“D” & l).Value) Like “" Then
o.Rows(l).EntireRow.Hidden = False
Else
o.Rows(l).EntireRow.Hidden = True
End If
End If
Next l
Else
For l = Dl To 14 Step -1
If Rows(l).Hidden = False Then
If VBA.LCase(o.Range(“D” & l).Value) Like "
” & Site & “*” Then
o.Rows(l).EntireRow.Hidden = False
Else
o.Rows(l).EntireRow.Hidden = True
End If
End If
Next l
End If
If Site = “quai a et point m” Then
o.Rows(Dl - 1).EntireRow.Hidden = False
o.Rows(Dl).EntireRow.Hidden = False
End If
Sheets(“imprimer”).Activate
Application.ScreenUpdating = True
End Sub

Re,

Tu remets le code comme il était et tu ôtes le filtre qui masque les lignes 7 à 13 sur la feuille “Effectif” —> “Encadrant”

A priori c’est réglé, merci infiniment!

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.