Cellule vide dans une macro

Résolu/Fermé
caillette83 - Modifié par caillette83 le 21/02/2013 à 21:30
 caillette83 - 23 févr. 2013 à 15:45
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'
A voir également:

7 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
21 févr. 2013 à 22:11
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.
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
21 févr. 2013 à 22:59
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
0
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
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
22 févr. 2013 à 10:09
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
http://cjoint.com/?0Bwk5Tm1Ny0

j'espere que ca ma marcher. je suis novice sur le site
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
Modifié par Mike-31 le 22/02/2013 à 11:39
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.
0
merci, j'ai pu finir mon taf
heureusement qu'il y a des gens comme toi
salut
0