Code vba bloque à l'ajout d'une nouvelle entrée

Tireur50 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
Tireur50 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

J'ai un problème avec mon code. J'ai 4 catégories récurrentes avec une valeur attribué à chacun:

légumes = 1

fruit = 2

viande = 3

poisson = 4

Jusque-là, le code fonctionne, mais il arrive occasionnellement que je rentre des nouvelles  catégories et je souhaiterai pouvoir attribuer une valeur. le code ne me le permet pas.

Quand je supprimer le Else, le code bloque

Code:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

For ligne = 1 To 50

   If Cells(ligne, 2) = "légume" Then
      Cells(ligne, 3).Value = "1"
   Else
     Cells(ligne, 3).Value = ""
   
   If Cells(ligne, 2) = "fruit" Then
      Cells(ligne, 3).Value = "2"
   Else
     Cells(ligne, 3).Value = ""
     
   If Cells(ligne, 2) = "viande" Then
     Cells(ligne, 3).Value = "3"
   Else
     Cells(ligne, 3).Value = ""
     
   If Cells(ligne, 2) = "poisson" Then
      Cells(ligne, 3).Value = "4"
   Else
     Cells(ligne, 3).Value = ""
    
   End If
   End If
   End If
   End If
    
Next ligne

End Sub
 

Windows / Edge 112.0.1722.48

3 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     

    Bonjour

    Évite tant que possible les if/else imbriqués...

    A la place, fais donc un switch case.


    0
  2. Tireur50 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
     

    Merci pour ta réponse, mais il y a un mois, je ne connaissais pas vba !!

    switch case, grand mystère pour moi !

    0
  3. Tireur50 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
     

    Merci pour le site, j'étais en recherche sur le net.

    Bonne journée

    0