yannick64
XLDnaute Junior
Bonjour à tous,
Sur une macro excel censée me masquer certaines lignes en fonction de différents critères, j'obtiens ce message d'erreur :
Si je le fait manuellement pas de problème.
Voici le code que j'ai utilisé, l'erreur se situe à la ligne 108.
	
	
	
	
	
		
Merci d'avance pour votre aide.
Yannick
	
		
			
		
		
	
				
			Sur une macro excel censée me masquer certaines lignes en fonction de différents critères, j'obtiens ce message d'erreur :
Erreur 1004 :
Impossible de définir la propriété Hidden de la classe range
Si je le fait manuellement pas de problème.
Voici le code que j'ai utilisé, l'erreur se situe à la ligne 108.
		Code:
	
	
	Sub MasquerLignesColonnes()
' Macro enregistrée le 09/01/2012 par Yannick
'Boite de dialogue et vérification des champs obligatoires
 
    Rep = MsgBox("Avez vous complété l'ensemble des informations requises? Voulez-vous éditer les certificats ?", vbYesNo + vbQuestion, "LP CHAMPO - Information !")
    If Rep = vbYes Then
     If Range("F8").Value = "" Then
  MsgBox "Vous devez complétez la période, et relancez l'édition des certificats"
Range("F8").Select
Exit Sub
 'non vide...
End If
'Masquer la macro :
Application.ScreenUpdating = False
    
    'Ouverture de la base de données
    
      Workbooks.Open Filename:= _
        "D:\Mes documents\Lycée\Europe\Evaluations informatisées\MVA.xls"
    Windows("Evaluation PFMP BAC MVA.xls").Activate
    Sheets("FC").Select
    Rows("2:21").Select
    Selection.Copy
    Windows("MVA.xls").Activate
    Range("A2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("MVA.xls").Activate
    
    Dim i%
For i = Range("A65536").End(xlUp).Row To 1 Step -1
    If Not InStr(1, LCase(Cells(i, 1).Value), "0") = 0 Then
        Rows(i).Delete
    End If
   
Next i
    
    Windows("Evaluation PFMP BAC MVA.xls").Activate
' ____________________________________________________________________________________________
'Partie de la macro concernant le publipostage pour l'édition des fiches de présence (inutile pour les évaluations en France)
''Edition des fiches
'Nécessite d'activer la référence "Microsoft Word xx.x Object Library"
'Dim docWord As Word.Document
'Dim appWord As Word.Application
'Dim NomBase As String
'NomBase = "D:\Mes documents\Lycée\Europe\Evaluations informatisées\MVA.xls"
'Application.ScreenUpdating = False
'Set appWord = New Word.Application
'appWord.Visible = True
''Ouverture du document principal Word
'Set docWord = appWord.Documents.Open("D:\Mes documents\Lycée\Europe\Evaluations informatisées\MVA.doc")
''fonctionnalité de publipostage pour le document spécifié
'With docWord.MailMerge
''Ouvre la base de données
'.OpenDataSource Name:=NomBase, _
'Connection:="Driver={Fichier Excel via ODBC (*.xls)};" & _
'"DBQ=" & NomBase & "; ReadOnly=True;", _
'SQLStatement:="SELECT * FROM [FC$]"
''Spécifie la fusion vers l'imprimante
'.Destination = wdSendToPrinter
'.SuppressBlankLines = True
''Prend en compte l'ensemble des enregistrements
'With .DataSource
'.FirstRecord = wdDefaultFirstRecord
'.LastRecord = wdDefaultLastRecord
'End With
''Exécute l'opération de publipostage
'.Execute Pause:=False
'End With
'Application.ScreenUpdating = True
''Fermeture du document Word
'docWord.Close False
'appWord.Quit
'___________________________________________________________________________________________________________
'Fermeture de la base de données
Windows("MVA.xls").Activate
Application.DisplayAlerts = False
ActiveWorkbook.Close savechanges:=False
Application.DisplayAlerts = True
'Enregistrer le document
    Sheets("Evaluations").Select
    
    ActiveWorkbook.SaveAs Filename:="Evaluation" & " " & [G8].Value & ".xls"
'Masque les lignes d'évaluations inutiles en fonction de la période de stage
With Sheets("Evaluations")
        .Rows("12:613").EntireRow.Hidden = False
        Select Case Range("G8").Value
        Case "Première période": .Rows("62:143").EntireRow.Hidden = True '
        Case "Seconde période": Union(.Rows("45:61"), .Rows("74:143")).EntireRow.Hidden = True
        Case "Troisième période": Union(.Rows("45:73"), .Rows("86:143")).EntireRow.Hidden = True
        Case "Quatrième période": Union(.Rows("45:85"), .Rows("102:143")).EntireRow.Hidden = True
        Case "Cinquième période": Union(.Rows("45:101"), .Rows("123:143")).EntireRow.Hidden = True
        Case "Sixième période": .Rows("45:122").EntireRow.Hidden = True
        End Select
   End With
   
Sheets("RAP").Select
Dim plg As Range
With Sheets("RAP")
        .Rows("12:613").EntireRow.Hidden = False
        Select Case Range("D3").Value
        Case "Première période": Set plg = .Rows("15:54")
        Case "Seconde période": Set plg = Union(.Rows("8:15"), .Rows("21:54"))
        Case "Troisième période": Set plg = Union(.Rows("8:21"), .Rows("27:54"))
        Case "Quatrième période": Set plg = Union(.Rows("8:27"), .Rows("34:54"))
        Case "Cinquième période": Set plg = Union(.Rows("8:34"), Rows("44:54"))
        Case "Sixième période": Set plg = .Rows("8:44")
        End Select
    End With
 If Not plg Is Nothing Then plg.EntireRow.Hidden = True
    Set plg = Nothing
    End If
    
'Masquer les lignes et colonnes
    Sheets("Evaluations").Select
     Columns("O:O").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.EntireColumn.Hidden = True
    Columns("AB:AB").Select
    Selection.EntireColumn.Hidden = True
    'Rows("125:125").Select
    'Range("C125").Activate
    'Range(Selection, Selection.End(xlDown)).Select
    'Selection.EntireRow.Hidden = True
   ' ActiveWindow.SmallScroll Down:=-129
   ' ActiveWindow.ScrollColumn = 2
    'ActiveWindow.ScrollColumn = 1
    
    Sheets("FC").Select
    ActiveWindow.SelectedSheets.Visible = False
'Afficher la macro :
Application.ScreenUpdating = True
Sheets("Evaluations").Select
    Range("A1").Select
    Range("G9").Select
     
'Boite d'info
'Fin:
'        MsgBox "Complétez les informations et relancez l'édition des certificats", vbOKOnly + vbInformation, "LP CHAMPO - Information !"
    
 
'Protéger la feuille : Désactivé car bloque l'insertion de la signature
 'ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
        False
End Sub
	Merci d'avance pour votre aide.
Yannick