[VBA] calcul d'un périmetre

Résolu
leplatinum Messages postés 96 Statut Membre -  
aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   -
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. G_33
     
    bonsoir
    Essayez

    p = ("o * 2" )+ ("a * 2")
    0
    1. leplatinum Messages postés 96 Statut Membre 5
       
      j'essaye ca tout de suite et vous dis si ca marche
      0
    2. leplatinum Messages postés 96 Statut Membre 5
       
      non plus, erreur 13, incompatibilité de type
      merci quand meme
      0
  2. leplatinum Messages postés 96 Statut Membre 5
     
    quelqu'un aurait-il une idée ?
    merci
    0
  3. aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 311
     
    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. leplatinum Messages postés 96 Statut Membre 5
       
      je teste tout de suite
      0
    2. leplatinum Messages postés 96 Statut Membre 5
       
      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. aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 311
       
      De rien et bonne continuation :)
      0