C'est complément normal que la macro tourne en boucle
Mais je ne sais pas comment faire pour sauter cette étape
'On retourne dans la feuil Feuil2
Sheets("Feuil2").Select
Sheets.Select
--------La macro complete---------------
Dim i As Double
Dim intNbLigne As Integer
ActiveSheet.Unprotect
'Il selectionne la feuil Vlans
Sheets("Feuil1").Select
'On conte les lignes dans la feuil Feuil1
intNbLigne = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Sheets("Feuil1").Select
Cells.Select
Selection.Copy
'On retourne dans la feuil Feuil2
Sheets("Feuil2").Select
Sheets.Select
ActiveSheet.Paste
Sheets("Feuil2").Select
Range("A1").Select
For i = 1 To intNbLigne
Cells(i, 9).Formula = "=Somme" & "(" & "D" & i & ")"
Next i
'Filtre plus triage par orde croissant
Selection.AutoFilter Field:=9, Criteria1:="<> ", Operator:=xlAnd
Columns("I:I").Select
Range("A1:I426").Sort Key1:=Range("I1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Select
'Protection de la feuil
ActiveSheet.Protect DrawingObjects:=False, Contents:=True,
Scenarios:=True
End Sub
' On retourne dans la feuil Feuil2 Sheets("Feuil2").Select Sheets.Select
Le Sheets.Select ne semble pas logique : selon le commen- taire, on retourne en Feuille 2, mais immédiatement après, il y a une instruction qui sélectionne TOUTES les feuilles, et la feuille 2 n'est pas forcément la feuille active.
Par ailleurs évite autant que possible les Select : la plu- part du temps, ils ne servent qu'à ralentir le traitement :
Sheets("Feuil1").Select ' On compte les lignes dans la feuil Feuil1 intNbLigne = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
est avantageusement remplacé par
' On compte les lignes dans la feuil Feuil1 intNbLigne = Sheets("Feuil1").Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Bonjour a tous
J'ai fait une macro dans l'événementiel de la feuil2
Elle ne fonctionne pas quand je sélectionne ma feuil2 (clic)
C'est complément normal que la macro tourne en boucle
Mais je ne sais pas comment faire pour sauter cette étape
'On retourne dans la feuil Feuil2 Sheets("Feuil2").Select Sheets.Select
--------La macro complete---------------
Dim i As Double Dim intNbLigne As Integer
ActiveSheet.Unprotect 'Il selectionne la feuil Vlans Sheets("Feuil1").Select 'On conte les lignes dans la feuil Feuil1 intNbLigne = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row Sheets("Feuil1").Select Cells.Select Selection.Copy
'On retourne dans la feuil Feuil2 Sheets("Feuil2").Select Sheets.Select ActiveSheet.Paste Sheets("Feuil2").Select Range("A1").Select For i = 1 To intNbLigne Cells(i, 9).Formula = "=Somme" & "(" & "D" & i & ")" Next i
'Filtre plus triage par orde croissant
Selection.AutoFilter Field:=9, Criteria1:="<> ", Operator:=xlAnd Columns("I:I").Select Range("A1:I426").Sort Key1:=Range("I1"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal Range("A1").Select 'Protection de la feuil ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:=True End Sub
------------Fin--------------------
Avez vous une idée ?
Merci par avance toute solution
Bonne journée a tous
A bientôt
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonhjour,
Dans le code complet, tu as à la suite :
' On retourne dans la feuil Feuil2
Sheets("Feuil2").Select
Sheets.Select
Le Sheets.Select ne semble pas logique : selon le commen-
taire, on retourne en Feuille 2, mais immédiatement après,
il y a une instruction qui sélectionne TOUTES les feuilles,
et la feuille 2 n'est pas forcément la feuille active.
Par ailleurs évite autant que possible les Select : la plu-
part du temps, ils ne servent qu'à ralentir le traitement :
Sheets("Feuil1").Select
' On compte les lignes dans la feuil Feuil1
intNbLigne = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
est avantageusement remplacé par
' On compte les lignes dans la feuil Feuil1
intNbLigne = Sheets("Feuil1").Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Bonjour a tous
J'ai fait une macro dans l'événementiel de la feuil2
Elle ne fonctionne pas quand je sélectionne ma feuil2 (clic)
C'est complément normal que la macro tourne en boucle
Mais je ne sais pas comment faire pour sauter cette étape
'On retourne dans la feuil Feuil2
Sheets("Feuil2").Select
Sheets.Select
--------La macro complete---------------
Dim i As Double
Dim intNbLigne As Integer
ActiveSheet.Unprotect
'Il selectionne la feuil Vlans
Sheets("Feuil1").Select
'On conte les lignes dans la feuil Feuil1
intNbLigne = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Sheets("Feuil1").Select
Cells.Select
Selection.Copy
'On retourne dans la feuil Feuil2
Sheets("Feuil2").Select
Sheets.Select
ActiveSheet.Paste
Sheets("Feuil2").Select
Range("A1").Select
For i = 1 To intNbLigne
Cells(i, 9).Formula = "=Somme" & "(" & "D" & i & ")"
Next i
'Filtre plus triage par orde croissant
Selection.AutoFilter Field:=9, Criteria1:="<> ", Operator:=xlAnd
Columns("I:I").Select
Range("A1:I426").Sort Key1:=Range("I1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:úlse,
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Select
'Protection de la feuil
ActiveSheet.Protect DrawingObjects:úlse, Contents:=True,
Scenarios:=True
End Sub
' On retourne dans la feuil Feuil2 Sheets("Feuil2").Select Sheets.Select
Le Sheets.Select ne semble pas logique : selon le commen- taire, on retourne en Feuille 2, mais immédiatement après, il y a une instruction qui sélectionne TOUTES les feuilles, et la feuille 2 n'est pas forcément la feuille active.
Par ailleurs évite autant que possible les Select : la plu- part du temps, ils ne servent qu'à ralentir le traitement :
Sheets("Feuil1").Select ' On compte les lignes dans la feuil Feuil1 intNbLigne = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
est avantageusement remplacé par
' On compte les lignes dans la feuil Feuil1 intNbLigne = Sheets("Feuil1").Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
Bonjour a tous
J'ai fait une macro dans l'événementiel de la feuil2
Elle ne fonctionne pas quand je sélectionne ma feuil2 (clic)
C'est complément normal que la macro tourne en boucle
Mais je ne sais pas comment faire pour sauter cette étape
'On retourne dans la feuil Feuil2 Sheets("Feuil2").Select Sheets.Select
--------La macro complete---------------
Dim i As Double Dim intNbLigne As Integer
ActiveSheet.Unprotect 'Il selectionne la feuil Vlans Sheets("Feuil1").Select 'On conte les lignes dans la feuil Feuil1 intNbLigne = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row Sheets("Feuil1").Select Cells.Select Selection.Copy
'On retourne dans la feuil Feuil2 Sheets("Feuil2").Select Sheets.Select ActiveSheet.Paste Sheets("Feuil2").Select Range("A1").Select For i = 1 To intNbLigne Cells(i, 9).Formula = "=Somme" & "(" & "D" & i & ")" Next i
'Filtre plus triage par orde croissant
Selection.AutoFilter Field:=9, Criteria1:="<> ", Operator:=xlAnd Columns("I:I").Select Range("A1:I426").Sort Key1:=Range("I1"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal Range("A1").Select 'Protection de la feuil ActiveSheet.Protect DrawingObjects:úlse, Contents:=True, Scenarios:=True End Sub
------------Fin--------------------
Avez vous une idée ?
Merci par avance toute solution
Bonne journée a tous
A bientôt
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Troxsa
Merci ça fonctionne deja mieux et j'ai fini par trouver toute mes erreurs
le code fonctionne tres bien maintenant merci encore pour ton coup de main
+++
Merci ça fonctionne deja mieux
et j'ai fini par trouver toute mes erreurs
le code fonctionne tres bien maintenant
merci encore pour ton coup de main
C'est complément normal que la macro tourne en boucle
Mais je ne sais pas comment faire pour sauter cette étape
'On retourne dans la feuil Feuil2 Sheets("Feuil2").Select Sheets.Select
--------La macro complete---------------
Dim i As Double Dim intNbLigne As Integer
ActiveSheet.Unprotect 'Il selectionne la feuil Vlans Sheets("Feuil1").Select 'On conte les lignes dans la feuil Feuil1 intNbLigne = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'On retourne dans la feuil Feuil2 Sheets("Feuil2").Select Sheets.Select ActiveSheet.Paste Sheets("Feuil2").Select Range("A1").Select For i = 1 To intNbLigne Cells(i, 9).Formula = "=Somme" & "(" & "D" & i & ")"
C'est complément normal que la macro tourne en boucle
Mais je ne sais pas comment faire pour sauter cette étape
'On retourne dans la feuil Feuil2
Sheets("Feuil2").Select
Sheets.Select
--------La macro complete---------------
Dim i As Double
Dim intNbLigne As Integer
ActiveSheet.Unprotect
'Il selectionne la feuil Vlans
Sheets("Feuil1").Select
'On conte les lignes dans la feuil Feuil1
intNbLigne = Cells.Find("*", [A1], , , xlByRows,
xlPrevious).Row
'On retourne dans la feuil Feuil2
Sheets("Feuil2").Select
Sheets.Select
ActiveSheet.Paste
Sheets("Feuil2").Select
Range("A1").Select
For i = 1 To intNbLigne
Cells(i, 9).Formula = "=Somme" & "(" & "D" & i
& ")"
C'est complément normal que la macro tourne en boucle
Mais je ne sais pas comment faire pour sauter cette étape
'On retourne dans la feuil Feuil2 Sheets("Feuil2").Select Sheets.Select
--------La macro complete---------------
Dim i As Double Dim intNbLigne As Integer
ActiveSheet.Unprotect 'Il selectionne la feuil Vlans Sheets("Feuil1").Select 'On conte les lignes dans la feuil Feuil1 intNbLigne = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'On retourne dans la feuil Feuil2 Sheets("Feuil2").Select Sheets.Select ActiveSheet.Paste Sheets("Feuil2").Select Range("A1").Select For i = 1 To intNbLigne Cells(i, 9).Formula = "=Somme" & "(" & "D" & i & ")"