Cellule vide dans une macro

Résolu
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'

7 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  3. caillette83
     
    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
  4. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

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

    j'espere que ca ma marcher. je suis novice sur le site
    0
  7. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  8. caillette83
     
    merci, j'ai pu finir mon taf
    heureusement qu'il y a des gens comme toi
    salut
    0