[VBA] calcul d'un périmetre

Résolu
Bonjour,

j'ai commencé le VBA petit a petit, et la j'essaye de faire un calcul de périmetre, cependant je rencontre un probleme lors du traitement

voici mon code :

Sub Perimetre()

'' Déclaration des variables ''

Dim o As Single

Dim a As Single

Dim p As Single

'' Entrée des données ''

o = InputBox("Indiquez la longueur du terrain", "Périmetre - Longueur")

a = InputBox("Indiquez la largeur du terrain", "Périmetre - Largeur")

'' Calcul du périmetre ''

p = ("o * 2" + "a * 2")

'' Copie des informations dans les cellules ''

o = Sheets("Jardin").Cells("B2")

a = Sheets("Jardin").Cells("B4")

p = Sheets("Jardin").Cells("B6")

End Sub

mais lors de l'execution du code, au traitement des données ( o+a *2) le programme indique une erreur de type 13, incompatibilité

quelqu'un pourrait t-il m'expliquer ce sue je dois changer dans le traitement pour qu'il fonctionne corretement ?

merci d'avance
au revoir

<config>Windows 7 / Chrome 22.0.1229.79</config>

3 réponses

  1. bonsoir
    Essayez

    p = ("o * 2" )+ ("a * 2")
    0
    1. j'essaye ca tout de suite et vous dis si ca marche
      0
    2. non plus, erreur 13, incompatibilité de type
      merci quand meme
      0
  2. quelqu'un aurait-il une idée ?
    merci
    0
    1. Modérateur
      Bonsoir,

      Essaie ainsi :
      Sub Perimetre()
      
      '' Déclaration des variables ''
      
      Dim o As Single
      
      Dim a As Single
      
      Dim p As Single
      
      '' Entrée des données ''
      
      o = InputBox("Indiquez la longueur du terrain", "Périmetre - Longueur")
      
      a = InputBox("Indiquez la largeur du terrain", "Périmetre - Largeur")
      
      '' Calcul du périmetre ''
      
      p = ((o * 2) + (a * 2))
      
      '' Copie des informations dans les cellules ''
      
      Sheets("Jardin").Range("B2").Value = o
      
      Sheets("Jardin").Range("B4").Value = a
      
      Sheets("Jardin").Range("B6").Value = p
      
      End Sub
      

      0
      1. je teste tout de suite
        0
      2. voila je viens de tester et ca marche a merveille, merci beaucoup
        et merci pour m'avoir changer le code d'affichage, sinon j'aurais encore chercher plus longtemps

        au revoir et encore merci
        0
      3. Modérateur
        De rien et bonne continuation :)
        0