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

Erreur de code VBA

12 réponses
Avatar
Sunburn
Bonjour,
j'ai un code VBA qui marchait à merveille. J'ai modifié un peu mon classeur,
et il ne fonctionne plus, il bloque à "ActiveCell.Offset(-1, 0).Select"
le voici, en tout cas le début.
Dans ma deuxième macro, je rappel ma première macro, et là ça bloque.
Je comprend pas.
MERCI
Yann
-------
Sub SUPPRIMEBAL()
Application.ScreenUpdating = False
Sheets("C").Select
Sheets("C").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If ActiveCell > 100000 And ActiveCell < 999999999 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop
End Sub
Sub IMPORTBAL()
rep = MsgBox("ATTENTION ! Vous allez perdre les commentaires saisis dans les
'Détails des comptes'. Etes-vous certain(e) de vouloir réinitialiser ?",
vbYesNo)
If rep = vbNo Then Exit Sub
SUPPRIMEBAL
Sheets("balance").Select
Columns("F:I").Select
Selection.NumberFormat = "#,##0"
Sheets("C").Select
Range("DETAIL101").Select
---------

2 réponses

1 2
Avatar
Daniel.C
Bonjour.
Ou je n'ai pas compris, ou on ne devrait pas être en colonne B.
Daniel
"isabelle" a écrit dans le message de news:

c'est ok, pour ton test d'erreur,

IF ActiveCell.Address = "$B$1" Then Exit Sub

isabelle

Ma macro s'execute à partir d'un menu déroulant, qui est dans la barre
tout en haut, avec les autres Menu.
Yann

"isabelle" wrote:

si tu execute la macro via un bouton mets la propriété
"TakeFocusOnClick" à False

isabelle

Daniel:
message qui apparait : $B$1

c'est quoi ?
Merci

"Daniel.C" wrote:

Modifie ton code comme suit; en cas d'erreur, un message apparaitra.
Poste ici le contenu du message :

Sub SUPPRIMEBAL()
Application.ScreenUpdating = False
On Error Resume Next
Sheets("C").Select
Sheets("C").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If ActiveCell > 100000 And ActiveCell < 999999999 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
If Err.Number <> 0 then
Msgbox ActiveCell.Address
Exit Sub
End If
Loop
End Sub

Daniel
"Sunburn" a écrit dans le message
de news:
Bonjour Isabelle,
le message est "erreur d'execution 1004", "erreur définie par
l'application
ou par l'objet"
et la ligne qui est surlignée en jaune est "ActiveCell.Offset(-1,
0).Select", dans la macro "SUPPRIMEBAL".

Merci.
Yann

"isabelle" wrote:

bonjour Sunburn,

ça bloque sur quel ligne ? quel est le message d'erreur ?

isabelle

Bonjour,
j'ai un code VBA qui marchait à merveille. J'ai modifié un peu mon
classeur,
et il ne fonctionne plus, il bloque à "ActiveCell.Offset(-1,
0).Select"
le voici, en tout cas le début.
Dans ma deuxième macro, je rappel ma première macro, et là ça
bloque.
Je comprend pas.
MERCI
Yann
-------
Sub SUPPRIMEBAL()
Application.ScreenUpdating = False
Sheets("C").Select
Sheets("C").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If ActiveCell > 100000 And ActiveCell < 999999999 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop
End Sub
Sub IMPORTBAL()
rep = MsgBox("ATTENTION ! Vous allez perdre les commentaires saisis
dans les
'Détails des comptes'. Etes-vous certain(e) de vouloir
réinitialiser ?",
vbYesNo)
If rep = vbNo Then Exit Sub
SUPPRIMEBAL
Sheets("balance").Select
Columns("F:I").Select
Selection.NumberFormat = "#,##0"
Sheets("C").Select
Range("DETAIL101").Select
---------


















Avatar
isabelle
tu as bien raison Daniel
.Range("C65535").End(xlUp).Select
ça devrait être $C$1 %-)
isabelle

Bonjour.
Ou je n'ai pas compris, ou on ne devrait pas être en colonne B.
Daniel
"isabelle" a écrit dans le message de news:

c'est ok, pour ton test d'erreur,

IF ActiveCell.Address = "$B$1" Then Exit Sub

isabelle

Ma macro s'execute à partir d'un menu déroulant, qui est dans la barre
tout en haut, avec les autres Menu.
Yann

"isabelle" wrote:

si tu execute la macro via un bouton mets la propriété
"TakeFocusOnClick" à False

isabelle

Daniel:
message qui apparait : $B$1

c'est quoi ?
Merci

"Daniel.C" wrote:

Modifie ton code comme suit; en cas d'erreur, un message apparaitra.
Poste ici le contenu du message :

Sub SUPPRIMEBAL()
Application.ScreenUpdating = False
On Error Resume Next
Sheets("C").Select
Sheets("C").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If ActiveCell > 100000 And ActiveCell < 999999999 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
If Err.Number <> 0 then
Msgbox ActiveCell.Address
Exit Sub
End If
Loop
End Sub

Daniel
"Sunburn" a écrit dans le message
de news:
Bonjour Isabelle,
le message est "erreur d'execution 1004", "erreur définie par
l'application
ou par l'objet"
et la ligne qui est surlignée en jaune est "ActiveCell.Offset(-1,
0).Select", dans la macro "SUPPRIMEBAL".

Merci.
Yann

"isabelle" wrote:

bonjour Sunburn,

ça bloque sur quel ligne ? quel est le message d'erreur ?

isabelle

Bonjour,
j'ai un code VBA qui marchait à merveille. J'ai modifié un peu mon
classeur,
et il ne fonctionne plus, il bloque à "ActiveCell.Offset(-1,
0).Select"
le voici, en tout cas le début.
Dans ma deuxième macro, je rappel ma première macro, et là ça
bloque.
Je comprend pas.
MERCI
Yann
-------
Sub SUPPRIMEBAL()
Application.ScreenUpdating = False
Sheets("C").Select
Sheets("C").Range("C65535").End(xlUp).Select
Do While ActiveCell.Address <> Range("C1").Address
If ActiveCell > 100000 And ActiveCell < 999999999 Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop
End Sub
Sub IMPORTBAL()
rep = MsgBox("ATTENTION ! Vous allez perdre les commentaires saisis
dans les
'Détails des comptes'. Etes-vous certain(e) de vouloir
réinitialiser ?",
vbYesNo)
If rep = vbNo Then Exit Sub
SUPPRIMEBAL
Sheets("balance").Select
Columns("F:I").Select
Selection.NumberFormat = "#,##0"
Sheets("C").Select
Range("DETAIL101").Select
---------





















1 2