Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro en VBA qui plante parfois sur une instruction

12 réponses
Avatar
luc
Bonjour,

J'ai une macro en VBA qui plante parfois sur une instruction.

Cette macro copie une feuille "Bilan_001" en autant de nouvelles feuilles
que d'entités se trouvant dans la feuille "calendar".

Parfois la macro va jusqu'au bout, mais la plupart du remps, elle s'arrête
sur l'instruction Shxx.Copy After:=Sheets(j)

Je ne comprends pas pourquoi.

Si je relance la macro après avoir supprimé les feuilles créées, ca plante
dès le départ ! Si je ferme puis réouvre la feuille excel , la macro va
plus loin et crée une trentaine de feuilles (la macro devrait en créer 62)

Le message d'erreur est "La méthod copy de la classe worksheet a échoué"

Merci pour vos conseils

Le code :


Sub Creation_Balance_sheet_spreadsheet()

Dim i, j As Integer
Dim Sh, Shxx, Shyy As Worksheet
Dim Entity_id As String

Set Sh = ActiveWorkbook.Worksheets("Calendar")
Set Shxx = ActiveWorkbook.Worksheets("Bilan_001")

j = Shxx.Index

Application.ScreenUpdating = False

For i = 16 To Sh.Range("A65535").End(xlUp).Row

Entity_id = Sh.Cells(i, 1).Value
Shxx.Activate
Shxx.Copy After:=Sheets(j)
Sheets(j + 1).Name = "Bilan_" & Entity_id
Sheets(j + 1).Cells(15, 3).Value = Entity_id
Sheets(j + 1).Range(Cells(17, 1), Cells(53, 12)).Name = Sheets(j +
1).Name
Sheets(j + 1).Range(Cells(61, 15), Cells(81, 22)).Name = "PL_" &
Entity_id
Sheets(j + 1).Visible = True
j = j + 1

Next i

Application.ScreenUpdating = True

End Sub

2 réponses

1 2
Avatar
luc
"Francois L" a écrit dans le message de news:


Bonsoir
je pensai avoir écrit dit que j'etais en 2003


Non
ben oui j'avais vu.. sinon je n'aurais pas répondu " je pensai avoir écrit
dit que j'etais en 2003"


La plupart des intervenants ne précisent pas leur version.. cela suppose
sans doute que'elle est récente.


Ils précisent en général lorsque cela a une importance !

et je sais comment si cela une importanc? si les "sachants" ne me le
demandent pas

J'aurais ou dire aussi que je n'etais pas en excel 2


... qui ne supportait pas VBA

tu le sais .... pas mois

Je n'ai pas perçu le côté pédagogique mais chacun voit les choses à sa
fenêtre et l'illumination aurait pu être réciproque.. il est vai que la
question pouvait être confuse.. pas autant que la réponse


et le ridicule ne tue pas (heureusement).

les donneurs de leçon en font la preuve


--
François L

Avatar
Francois L
"(...)


Re,

Bien alors disons les choses telles qu'elles sont : LSteph est un
contributeur plutôt très compétent de ce forum (et patient qui plus est)
qui ne mérite certainement le traitement que tu semble vouloir lui réserver.

--
François L

1 2