Erreur d'exécution 1004 la méthode range de l'objet _global
Bonjour à tous,
Tout d'abord merci de me lire.
Je suis débutant sur VBA et je sollicite votre aide suite à une erreur de macro sur Excel 10
Sur une feuille excel, j'ai affecté une macro par liste déroulante afin de masquer certaines lignes et colonnes.
Je ne parviens pas à faire exécuter mes macros et pour chacune d'entre elle j'ai le signal d'erreur suivant:
Erreur d'execution "1004"
la méthode "range" de l'objet" _global " a échoué.
Pouvez-vous m'indiquer où est-ce que j'ai commis des erreurs ?
Merci d'avance pour votre aide.
Pour la macro 1
Sub Macro1()
'
' Macro1 Macro
If Range(C9) = "TOUS" Then
Cells.Select
Selection.EntireRow.Hidden = False
End If
If Range(C9) = "AFFECTATION DES RESSOURCES" Then
Rows("23:169").Select
Selection.EntireRow.Hidden = True
ActiveWindow.SmallScroll Down:=-10
End If
If Range(C9) = "RECRUTEMENT" Then
Range("12:22,55:83,84:169").Select
Range("A84").Activate
Selection.EntireRow.Hidden = True
End If
If Range(C9) = "FORMATION" Then
Range("12:54,84:169").Select
Range("A84").Activate
Selection.EntireRow.Hidden = True
End If
If Range(C9) = "MOBILITE" Then
Range("12:83,111:169").Select
Range("A111").Activate
Selection.EntireRow.Hidden = True
End If
If Range(C9) = "DEPART" Then
Range("12:110,135:169").Select
Range("A135").Activate
Selection.EntireRow.Hidden = True
End If
If Range(C9) = "APPRECIATION" Then
Rows("12:134").Select
Selection.EntireRow.Hidden = True
End If
End Sub
Pour la macro 2
Sub Macro9()
'
' Macro9 Macro
If Range(G7) = "TOUTES" Then
Selection.EntireRow.Hidden = False
Range("D10").Select
End If
If Range(G7) = "N-1" Then
Columns("F:W").Select
Selection.EntireColumn.Hidden = True
End If
If Range(G7) = "N" Then
Range("E11,D:E,L:W").Select
Selection.EntireColumn.Hidden = True
End If
If Range(G7) = "N+1" Then
Range("D:K,R:W").Select
Selection.EntireColumn.Hidden = True
End If
If Range(G7) = "N+2" Then
Columns("D:Q").Select
Selection.EntireColumn.Hidden = True
End If
End Sub
Bonjour
Tes Range tu as oublié les " (guillemets)
[barrer]If Range(C9) = "TOUS" Then[/barrer]
If Range("C9") = "TOUS" ThenMême chose pour la 2ème macro
Deux trucs bizarres
Si en G7 tu as N-1 tu masques les colonnes de F à W ==> Plus de cellule G7 pour changer !!!!!
Même conséquence si tu as N+2, car tu masques de D à Q ===> La colonne G est masquée !!!
Simplification de ton code
Je t'ai laissé ce que tu voulais
'Pour la macro 1
Sub Macro1()
' Macro1 Macro
Select Case Range("C9")
Case "TOUS"
Rows.Hidden = False
Case "AFFECTATION DES RESSOURCES"
Rows("23:169").Hidden = True
Case "RECRUTEMENT"
Range("12:22,55:83,84:169").EntireRow.Hidden = True
Case "FORMATION"
Range("12:54,84:169").EntireRow.Hidden = True
Case "MOBILITE"
Range("12:83,111:169").EntireRow.Hidden = True
Case "DEPART"
Range("12:110,135:169").EntireRow.Hidden = True
Case "APPRECIATION"
Rows("12:134").Hidden = True
End Select
End Sub
'Pour la macro 2
Sub Macro9()
' Macro9 Macro
Select Case Range("G7")
Case "TOUTES"
Selection.EntireRow.Hidden = False
Range("D10").Select
Case "N-1"
Columns("F:W").Hidden = True
Case "N"
Range("E11,D:E,L:W").EntireColumn.Hidden = True
Case "N+1"
Range("D:K,R:W").EntireColumn.Hidden = True
Case "N+2"
Columns("D:Q").Hidden = True
End Select
End SubRebonjour !!!
J'ai trouvé une solution !!
Je fais deux macro :
La première qui sélectionne toutes les cellules
La deuxième qui fait le tri
Ensuite j'en fait une troisième qui lance les deux à la suite...
Et les données rajoutées sont toujours prises en compte parceque la macro#1 refait la sélection sur la page entière !
Merci énormément pour vos réponses et a bientot
Bonjour j'ai un programme pour faire mes bulletins mais depuis quelques semaines, le programme ne fonctionne plus et j'ai une erreur 1004
Voici ce qu'il me met
Sub AddCotationOk()
VarIntitulé = DialogSheets("Dialog1").EditBoxes("ModifIntitulé").Text
VarDate = DialogSheets("Dialog1").EditBoxes("ModifDate").Text
VarMaximum = DialogSheets("Dialog1").EditBoxes("ModifMaximum").Text
Sheets(CurrentSheet).Select
Range("CotationLast").Select
Selection.Copy
Selection.Insert Shift:=xlToRight
Selection.ColumnWidth = 12
Selection.Range("A4") = VarIntitulé
Selection.Range("A5") = VarDate
Selection.Range("A6") = VarMaximum
Qui peut m'aider ?
Merci