Cellule vide dans une macro
Résolu
caillette83
-
caillette83 -
caillette83 -
Bonjour,
bonjour, j'ai un probleme de cellule vide dans une macro
je travaille avec exel sous windows vista
un tableau se rempli au fur et a mesure que je selectionne mes choix dans une suite de liste déroulante jusqu'a me donner un résultat.
jusque là tout va bien.
a la fin de ma recherche j'efface les donnees de ce tableau sans effacer mes formules.
et la je beugue car ma macro ne sait plus quoi faire de ma cellule vide et me donne erreur execution '13'. j'arrete le debogage et ma macro refonctionne correctement.
merci de m'aider a lever cette erreur'13'
bonjour, j'ai un probleme de cellule vide dans une macro
je travaille avec exel sous windows vista
un tableau se rempli au fur et a mesure que je selectionne mes choix dans une suite de liste déroulante jusqu'a me donner un résultat.
jusque là tout va bien.
a la fin de ma recherche j'efface les donnees de ce tableau sans effacer mes formules.
et la je beugue car ma macro ne sait plus quoi faire de ma cellule vide et me donne erreur execution '13'. j'arrete le debogage et ma macro refonctionne correctement.
merci de m'aider a lever cette erreur'13'
A voir également:
- Cellule vide dans une macro
- Comment supprimer une page vide sur word - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Aller à la ligne dans une cellule excel - Guide
- Caractere vide - Guide
- Excel cellule couleur si condition texte - Guide
7 réponses
Bonjour,
L'erreur execution '13' provient du fait que tu utilises dans une instruction des objets incompatibles : par exemple tu veux transférer un texte dans une variable définie en integer.
L'erreur execution '13' provient du fait que tu utilises dans une instruction des objets incompatibles : par exemple tu veux transférer un texte dans une variable définie en integer.
Salut,
tu peux mettre à notre disposition ton fichier sans notes confidentielles avec ce lien
https://www.cjoint.com/
en changeant ta variable et certainement avec un
On Error Resume Next
ou
On Error GoTo errorHandler
on doit pouvoir gérer cela, mais il faut voir
tu peux mettre à notre disposition ton fichier sans notes confidentielles avec ce lien
https://www.cjoint.com/
en changeant ta variable et certainement avec un
On Error Resume Next
ou
On Error GoTo errorHandler
on doit pouvoir gérer cela, mais il faut voir
j'ai mis mon fichier dans le lien cjoint mais je ne sais pas si cela a marché donc une petite info supplémentaire sur ma macro :
elle est essentiellement faite avec
If Not Intersect(Target, Range("A3")) Is Nothing Then
If Target = "ANXIETE1" Then
[B3].Select
If Target = "COUPS" Then
[b4].Select
a la fin les donnees s'effacent à partir de la cellule a3 et mon message d'erreur se colle au premier if target de ma macro. c'est en a3 que je fais mon premier choix
elle est essentiellement faite avec
If Not Intersect(Target, Range("A3")) Is Nothing Then
If Target = "ANXIETE1" Then
[B3].Select
If Target = "COUPS" Then
[b4].Select
a la fin les donnees s'effacent à partir de la cellule a3 et mon message d'erreur se colle au premier if target de ma macro. c'est en a3 que je fais mon premier choix
Re,
tu n'as pas collé le lien, il faut cliquer sur le lien/Parcourir pour sélectionner ton fichier/clic sur créer le lien/puyis coller dans un post le lien généré
avec le bout decode que tu as collé, tu peux déjà écrire If Not Intersect(Target, Range("A3")) Is Nothing Then
If Target ="" Then Exit Sub
If Target = "ANXIETE1" Then [B3].Select
If Target = "COUPS" Then [b4].Select
mais le mieux est de voir ton code dans sa totalité ou d'avoir ton fichier
tu n'as pas collé le lien, il faut cliquer sur le lien/Parcourir pour sélectionner ton fichier/clic sur créer le lien/puyis coller dans un post le lien généré
avec le bout decode que tu as collé, tu peux déjà écrire If Not Intersect(Target, Range("A3")) Is Nothing Then
If Target ="" Then Exit Sub
If Target = "ANXIETE1" Then [B3].Select
If Target = "COUPS" Then [b4].Select
mais le mieux est de voir ton code dans sa totalité ou d'avoir ton fichier
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
pour la première partie tu peux écrire ce code
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A3")) Is Nothing Then
If Target = "ANXIETE1" Then [B3].Select
If Target = "COUPS" Then [b4].Select
If Target = "DENTS" Then [b5].Select
If Target = "DOULEURS MUSCULAIRES" Then [b6].Select
If Target = "ETAT GRIPPAL" Then [b7].Select
If Target = "MAL AU KEUR" Then [b8].Select
If Target = "MAUX DE TETE" Then [b9].Select
If Target = "OREILLE1" Then [b10].Select
If Target = "VERTIGE1" Then [b11].Select
If Target = "VENTRE" Then [b12].Select
End If
la seconde partie tu adapte comme la première partie ou tu utilises ElseIf
If Not Intersect(Target, Range("B3")) Is Nothing Then
If Target = "ANXIETE2" Then
[C3].Select
ElseIf Target = "COUP" Then
[C4].Select
ElseIf Target = "DESINFECTANT" Then [D4].Select
End If
End If
tu peux également remplacer tes premières lignes
If Not Intersect(Target, Range("A3")) Is Nothing Then
If Not Intersect(Target, Range("B3")) Is Nothing Then
etc ....
par cette simple ligne en début de code
If Not Intersect(Target, Union([A3], [B3], [B5:B12])) Is Nothing Then
A toi de jouer
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
pour la première partie tu peux écrire ce code
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A3")) Is Nothing Then
If Target = "ANXIETE1" Then [B3].Select
If Target = "COUPS" Then [b4].Select
If Target = "DENTS" Then [b5].Select
If Target = "DOULEURS MUSCULAIRES" Then [b6].Select
If Target = "ETAT GRIPPAL" Then [b7].Select
If Target = "MAL AU KEUR" Then [b8].Select
If Target = "MAUX DE TETE" Then [b9].Select
If Target = "OREILLE1" Then [b10].Select
If Target = "VERTIGE1" Then [b11].Select
If Target = "VENTRE" Then [b12].Select
End If
la seconde partie tu adapte comme la première partie ou tu utilises ElseIf
If Not Intersect(Target, Range("B3")) Is Nothing Then
If Target = "ANXIETE2" Then
[C3].Select
ElseIf Target = "COUP" Then
[C4].Select
ElseIf Target = "DESINFECTANT" Then [D4].Select
End If
End If
tu peux également remplacer tes premières lignes
If Not Intersect(Target, Range("A3")) Is Nothing Then
If Not Intersect(Target, Range("B3")) Is Nothing Then
etc ....
par cette simple ligne en début de code
If Not Intersect(Target, Union([A3], [B3], [B5:B12])) Is Nothing Then
A toi de jouer
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.