Erreur de code VBA

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #5236671
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
---------



Sunburn
Le #5236661
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
---------






Daniel.C
Le #5236621
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" 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
---------








Sunburn
Le #5236591
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" 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
---------













Daniel.C
Le #5236571
Ton erreur provient du fait que tu cherches à sélectionner la cellule qui
est AU DESSUS de B1. Ajoute un test pour prévoir ce cas.
Daniel
"Sunburn" news:
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" 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
---------















isabelle
Le #5236541
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" 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
---------













Sunburn
Le #5236531
Merci Daniel,
mais je ne sais pas comment faire ce test, et cette macrio fonctionne très
bien sur mon ancien ficher, donc c'est bizzare...
en fait, le but de la macro, est de supprimer toutes les lignes qui
contiennent un chiffre dans la colonne C.
Je ne sais pas comment prévoir un test pour prévoir le cas où y'a une celule
au dessus de la B1, moi j'en vois pas.

Merci

"Daniel.C" wrote:

Ton erreur provient du fait que tu cherches à sélectionner la cellule qui
est AU DESSUS de B1. Ajoute un test pour prévoir ce cas.
Daniel
"Sunburn" news:
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
Le #5236501
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" 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
---------
















isabelle
Le #5236491
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" 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
---------
















Daniel.C
Le #5236471
Au temps pour moi, La cellule active n'est pas en colonne C. Essaie le code
suivant et regarde si la plage sélectionnée est bien la bonne :
Sub SUPPRIMEBAL()
Application.ScreenUpdating = False
Sheets("C").Select
Sheets("C").Range("C65535").End(xlUp).Select
End Sub

Daniel
"Sunburn" news:
Merci Daniel,
mais je ne sais pas comment faire ce test, et cette macrio fonctionne très
bien sur mon ancien ficher, donc c'est bizzare...
en fait, le but de la macro, est de supprimer toutes les lignes qui
contiennent un chiffre dans la colonne C.
Je ne sais pas comment prévoir un test pour prévoir le cas où y'a une
celule
au dessus de la B1, moi j'en vois pas.

Merci

"Daniel.C" wrote:

Ton erreur provient du fait que tu cherches à sélectionner la cellule qui
est AU DESSUS de B1. Ajoute un test pour prévoir ce cas.
Daniel
"Sunburn" news:
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









Publicité
Poster une réponse
Anonyme