Bonjour, j'ai une série de macros (afin de protéger 2 feuilles de toutes modifications) qui se mettent en boucle lorsque la valeur est fausse (n'égal pas 4550)
Macro triernom
et trier chambre
Le problème que je rencontre c'est lorsque les macros "triernom" et "trierchambre" sont appelées, excel semble faire une boucle entre la feuille "dossiers actifs" et "nom" puis la macro plante et me rapporte une erreur. Je n'arrive pas à comprendre pourquoi lorsque je regarde mon code, quelqu'un a une idée???
Code:
Private Sub Worksheet_Activate()
Sheets("Nom").Unprotect
Sheets("Chambre").Unprotect
Dim Valeur_Chercher
Dim usename As String
Sheets("Exemple").Range("A194").Value = ("Vert")
usename = Sheets("Exemple").Range("A194").Value
Valeur_Chercher = Range("G3")
If Valeur_Chercher = 4550 Then
Range("C3:D721").Select
Selection.ClearContents
Range("C3").Select
MsgBox "Vous n'avez aucun dossier actif", vbInformation, "Attention"
Sheets("Exemple").Range("A194").Value = ("Rouge")
Exit Sub
Else
Application.Run "'statssocial-MAJ-2009-02-04.xls'!trierrnom"
Application.Run "'statssocial-MAJ-2009-02-04.xls'!Module11.trierchambre"
End If
Sheets("Nom").Protect
Sheets("Chambre").Protect
Sheets("Exemple").Range("A194").Value = ("Rouge")
End Sub
Macro triernom
Code:
Sub trierrnom()
Sheets("Dossiers Actifs").Select
Range("C3:C721").Select
Selection.ClearContents
Sheets("Nom").Select
Columns("A:A").Select
Selection.SpecialCells(xlCellTypeFormulas, 2).Select
Selection.Copy
Sheets("Dossiers Actifs").Select
Range("C3").Select
ActiveSheet.Paste
End Sub
et trier chambre
Code:
Sub trierchambre()
Sheets("Dossiers Actifs").Select
Range("D3:D721").Select
Selection.ClearContents
Sheets("Chambre").Select
Range("A2:A706").Select
Selection.SpecialCells(xlCellTypeFormulas, 1).Select
Selection.Copy
Sheets("Dossiers Actifs").Select
Range("D3").Select
ActiveSheet.Paste
Cells.Select
Range("C1").Activate
Selection.Find(What:="nillllllllll", After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Replace What:="nillllllllll", Replacement:="", LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Find(What:="8779645", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Replace What:="8779645", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("C3").Select
End Sub
Le problème que je rencontre c'est lorsque les macros "triernom" et "trierchambre" sont appelées, excel semble faire une boucle entre la feuille "dossiers actifs" et "nom" puis la macro plante et me rapporte une erreur. Je n'arrive pas à comprendre pourquoi lorsque je regarde mon code, quelqu'un a une idée???