MsgBox : afficher le classement de la commune en saisissant le code INSEE

Bonsoir,

J'ai une liste des communes avec leur capacité d'accueil touristique (nbr de lits) et je souhaite attribuer une classe en fonction du nombre de lits à l'aide de MsgBox.

Par exemple comme ceci :

If valeur = 0 Then
    MsgBox "Commune non touristique" & "( " & valeur & "lits )", vbExclamation, "Info tourisme"
ElseIf valeur > 0 And valeur < 100 Then
    MsgBox "Commune de très faible intensité touristique" 
ElseIf valeur > 100 And valeur < 1000 Then
    MsgBox "Commune de moindre intensité touristique" 
ElseIf valeur > 1000 And valeur < 5000 Then
    MsgBox "Commune d'intensité touristique moyenne"
ElseIf valeur > 5000 Then
    MsgBox "Commune de forte intensité touristique"

La Macro sert saisir le code INSEE dans l'InputBox (colonne E) pour ensuite appliquer la condition (ci-dessus) pour le nombre de lits (colonne H) afin de communiquer la classe de la commune.

Pouvez-vous m'aider à résoudre cela ?

Merci d'avance :)

Bonjour,

Peux-tu indiquer la version Excel utilisée dans ton profil ?

Cdlt.

Bonjour à tous,

Un essai ...

Sub tourisme1()

Dim Comtouristique As String
Dim Ligne As Integer
Dim Cell As Range
Dim Maplage As Range

   Comtouristique = InputBox("Entrez le code INSEE de la commune", "Info tourisme")
   If Comtouristique = "" Then Exit Sub
   If Len(Comtouristique) < 5 Or Len(Comtouristique) > 5 Then
      MsgBox "Vérifiez votre code INSEE", vbExclamation
      Exit Sub
   End If

   Set Maplage = Worksheets("Toursime").Range("E2:E35229")

   For Each Cell In Maplage
      Comtouristique = UCase(Comtouristique)

      If Comtouristique = Cell.Value Then
         valeur = Cell.Offset(, 3).Value

         If valeur = 0 Then
            MsgBox "Commune non touristique" & "( " & valeur & "lits )", vbExclamation, "Info tourisme"
         ElseIf valeur > 0 And valeur < 100 Then
            MsgBox "Commune de très faible intensité touristique" & " ( " & valeur & " lits )", vbExclamation, "Info tourisme"
         ElseIf valeur > 100 And valeur < 1000 Then
            MsgBox "Commune de moindre intensité touristique" & " ( " & valeur & " lits )", vbInformation, "Info tourisme"
         ElseIf valeur > 1000 And valeur < 5000 Then
            MsgBox "Commune d'intensité touristique moyenne" & " ( " & valeur & " lits )", vbInformation, "Info tourisme"
         ElseIf valeur > 5000 Then
            MsgBox "Commune de forte intensité touristique" & " ( " & valeur & " lits )", vbInformation, "Info tourisme"
         Else
            MsgBox "Vérifiez votre code INSEE", vbExclamation
         End If
         Exit For
      End If
   Next
End Sub

ric

Bonjour,

Ci-joint votre code modifié

Sub tourisme1()

Dim comtouristique As String
Dim Ligne As Integer

comtouristique = InputBox("Entrez le code INSEE de la commune", "Info tourisme")
If comtouristique = "" Then Exit Sub
If Len(comtouristique) < 5 Or Len(comtouristique) > 5 Then
MsgBox "Vérifiez votre code INSEE", vbExclamation
Exit Sub
End If

Dim maplage As Range
Set maplage = Range("E1:E35229")

valeur = ActiveSheet.Cells(Application.WorksheetFunction.Match(comtouristique, maplage, 0), 8).Value

If valeur = 0 Then
    MsgBox "Commune non touristique" & "( " & valeur & "lits )", vbExclamation, "Info tourisme"
ElseIf valeur > 0 And valeur < 100 Then
    MsgBox "Commune de très faible intensité touristique" & " ( " & valeur & " lits )", vbExclamation, "Info tourisme"
ElseIf valeur > 100 And valeur < 1000 Then
    MsgBox "Commune de moindre intensité touristique" & " ( " & valeur & " lits )", vbInformation, "Info tourisme"
ElseIf valeur > 1000 And valeur < 5000 Then
    MsgBox "Commune d'intensité touristique moyenne" & " ( " & valeur & " lits )", vbInformation, "Info tourisme"
ElseIf valeur > 5000 Then
    MsgBox "Commune de forte intensité touristique" & " ( " & valeur & " lits )", vbInformation, "Info tourisme"

Else: MsgBox "Vérifiez votre code INSEE", vbExclamation

End If

End Sub

Votre plage était mal définie à la base (colonne H à E et non l'inverse) ce qui provoquait une erreur sur la définition de valeur.

Cdlt,

Merci infiniment ! ça fonctionne très bien !

Rechercher des sujets similaires à "msgbox afficher classement commune saisissant code insee"