Erreur 424
flahut08
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un petit problème avec ma macro car lorsque je suis sur la boite de dialogue, l'erreur 424 arrive si je clique sur "annuler"
Pouvez-vous m'aider?
voici le code:
Dim cellule As Range
Dim Plage As Range
Set Plage = Application.InputBox("Sélectionner les cellules à supprimer", Type:=8)
For Each cellule In Plage
If cellule = "" Then
Exit Sub
Else
For w = 4 To 21
x = Cells(cellule.Row, w).Value
Cells(3, w) = Cells(3, w) + x
Cells(cellule.Row, 1).ClearContents
Next
End If
Next cellule
Plage.Select
Selection.ClearContents
J'ai un petit problème avec ma macro car lorsque je suis sur la boite de dialogue, l'erreur 424 arrive si je clique sur "annuler"
Pouvez-vous m'aider?
voici le code:
Dim cellule As Range
Dim Plage As Range
Set Plage = Application.InputBox("Sélectionner les cellules à supprimer", Type:=8)
For Each cellule In Plage
If cellule = "" Then
Exit Sub
Else
For w = 4 To 21
x = Cells(cellule.Row, w).Value
Cells(3, w) = Cells(3, w) + x
Cells(cellule.Row, 1).ClearContents
Next
End If
Next cellule
Plage.Select
Selection.ClearContents
A voir également:
- Erreur 424
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
7 réponses
Bonsoir flahut08,
C'est normal car vous faites mettez "RIEN" dans plage, et Excel n'aimes pas quand on ne met rien dans un range.
Avant De faire un Set, toujours être certain d'y ajouter quelque chose de correct.
C'est normal car vous faites mettez "RIEN" dans plage, et Excel n'aimes pas quand on ne met rien dans un range.
Avant De faire un Set, toujours être certain d'y ajouter quelque chose de correct.
Merci de votre réponse
Mais en faite ma macro fonctionne très bien, par contre lorsque je suis sur la boite de dialogue si je clic sur "annuler", l'erreur 424 apparait.
Mais en faite ma macro fonctionne très bien, par contre lorsque je suis sur la boite de dialogue si je clic sur "annuler", l'erreur 424 apparait.
Je viens de vous expliquer !
Quand vous faite Set Plage = Application.InputBox("Sélectionner les cellules à supprimer", Type:=8) ,
Vous obliger Excel à mettre la valeur retournée par la bôite de dialogue dans la variable Plage qui est une variable de type Range.
Le bouton Annuler ne renvoi pas une valeur de type Range mais une valeur de type String.
Il faut contourner l'erreur en testant si la valeur renvoyée par la boîte de dialogue est de type Range ou d'un autre type .. Si la valeur retournée est bien de type Range, alors et seulement à ce moment là, on peut mettre cette valeur dans la variable Plage en faisant Set Plage = ValeurRetournéeParLaBoiteDeDialogue
Quand vous faite Set Plage = Application.InputBox("Sélectionner les cellules à supprimer", Type:=8) ,
Vous obliger Excel à mettre la valeur retournée par la bôite de dialogue dans la variable Plage qui est une variable de type Range.
Le bouton Annuler ne renvoi pas une valeur de type Range mais une valeur de type String.
Il faut contourner l'erreur en testant si la valeur renvoyée par la boîte de dialogue est de type Range ou d'un autre type .. Si la valeur retournée est bien de type Range, alors et seulement à ce moment là, on peut mettre cette valeur dans la variable Plage en faisant Set Plage = ValeurRetournéeParLaBoiteDeDialogue
Bonjour,
contrôle si ta plage est correcte avant de faire le traitement :
eric
contrôle si ta plage est correcte avant de faire le traitement :
if not plage is nothing then ' traitement ... else msgbox "vous n'avez rien sélectionné" endif
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
@Eric, l'erreur se produit sur le Input, impossible de tester. Seul solution le On Error.
@flahut08
En examinant ton code je pense que ce que tu veux faire c'est...
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
@Eric, l'erreur se produit sur le Input, impossible de tester. Seul solution le On Error.
@flahut08
En examinant ton code je pense que ce que tu veux faire c'est...
Sub Test() Dim Plage As Range, x 'pour le test x=20, ce que tu ne spécifie pas ! x = 20 On Error GoTo Sortie Set Plage = Application.InputBox("Sélectionner les cellules à supprimer", Type:=8) Plage.Copy Cells(Plage.Row, Plage.Column + x) Plage.ClearContents Sortie: End Sub
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.