Nouveau sur VB
Résolu
clearize
-
clearize -
clearize -
Bonjour à tous,
J'essaye desesperement de faire une macro mais je n'y arrive pas.
Ce que je veux c'est qu'en appuyant sur un bouton situé sur la feuille "Résultats hebdomadaire", il vienne sur la feuille "saisie fabrications", qu'il libere les volets, qu'il deverouille la feuille. Après ça, j'aimerai qu'il selectionne, les cellules de S2 à S3500, qu'il les copie, et qu'il fasse un collage en valeurs sur les cellules AG2 à AG3500. Ensuite il faudrait qu'il fasse un classement en ordre croissant sur les cellules AG2 AG3500. Pour finir, je voudrai qu'il refige les volets et reverouille la feuille, puis qu'il retourne sur la feuille "Résultats hebdomadaire", là où se trouve le bouton.
Voilà ce que j'ai essayé mais il m'envoie un message d'erreur suivant:
'Erreur d'éxucution '1004'
La méthode select de la classe Range a échoué
Private Sub CommandButton1_Click()
Sheets("Saisie Fabrications").Select
ActiveWindow.FreezePanes = False
ActiveSheet.Unprotect
ActiveWindow.SmallScroll ToRight:=11
Range("Y274").Select
ActiveWindow.SmallScroll Down:=-21
ActiveWindow.ScrollRow = 1
Range("W1").Select
ActiveWindow.SmallScroll ToRight:=3
Range("S2:S3500").Select
Selection.Copy
ActiveWindow.SmallScroll ToRight:=5
Range("AG2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Sort Key1:=Range("AG2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("AE26").Select
ActiveWindow.SmallScroll ToRight:=-19
Range("O2").Select
ActiveWindow.SmallScroll ToRight:=-3
ActiveWindow.FreezePanes = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Resultats hebdomadaire").Select
End Sub
Quelqu'un peut-il m'aider
Merci d'avance
J'essaye desesperement de faire une macro mais je n'y arrive pas.
Ce que je veux c'est qu'en appuyant sur un bouton situé sur la feuille "Résultats hebdomadaire", il vienne sur la feuille "saisie fabrications", qu'il libere les volets, qu'il deverouille la feuille. Après ça, j'aimerai qu'il selectionne, les cellules de S2 à S3500, qu'il les copie, et qu'il fasse un collage en valeurs sur les cellules AG2 à AG3500. Ensuite il faudrait qu'il fasse un classement en ordre croissant sur les cellules AG2 AG3500. Pour finir, je voudrai qu'il refige les volets et reverouille la feuille, puis qu'il retourne sur la feuille "Résultats hebdomadaire", là où se trouve le bouton.
Voilà ce que j'ai essayé mais il m'envoie un message d'erreur suivant:
'Erreur d'éxucution '1004'
La méthode select de la classe Range a échoué
Private Sub CommandButton1_Click()
Sheets("Saisie Fabrications").Select
ActiveWindow.FreezePanes = False
ActiveSheet.Unprotect
ActiveWindow.SmallScroll ToRight:=11
Range("Y274").Select
ActiveWindow.SmallScroll Down:=-21
ActiveWindow.ScrollRow = 1
Range("W1").Select
ActiveWindow.SmallScroll ToRight:=3
Range("S2:S3500").Select
Selection.Copy
ActiveWindow.SmallScroll ToRight:=5
Range("AG2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Sort Key1:=Range("AG2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("AE26").Select
ActiveWindow.SmallScroll ToRight:=-19
Range("O2").Select
ActiveWindow.SmallScroll ToRight:=-3
ActiveWindow.FreezePanes = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Resultats hebdomadaire").Select
End Sub
Quelqu'un peut-il m'aider
Merci d'avance
A voir également:
- Nouveau sur VB
- Comment créer un nouveau groupe sur whatsapp - Guide
- Nouveau site coco chat - Accueil - Réseaux sociaux
- Créer un nouveau compte gmail - Guide
- Vb - Télécharger - Langages
- Créer un nouveau compte google - Guide
4 réponses
Bonjour,
1°) tu peu déja virer tout les ActiveWindow.SmallScroll y servent à rien dans la macro.
2°) Pas nécessaire de libérer les volets donc pas besoin de les remettre
3°) Ta macro est dans l'événement clic d'un bouton, donc sur un module de feuille
Tu doit mettre toute la macro dans un module général (Module1 par exemple, sous un nom FaireAction par exemple
et dans l'événement du bouton mettre
Tu dit si encore problème,
A+
1°) tu peu déja virer tout les ActiveWindow.SmallScroll y servent à rien dans la macro.
2°) Pas nécessaire de libérer les volets donc pas besoin de les remettre
3°) Ta macro est dans l'événement clic d'un bouton, donc sur un module de feuille
Tu doit mettre toute la macro dans un module général (Module1 par exemple, sous un nom FaireAction par exemple
et dans l'événement du bouton mettre
Private Sub CommandButton1_Click() call FaireAction() end sub
Tu dit si encore problème,
A+