Calcul sur VBA

Résolu/Fermé
ARY_25 - 15 janv. 2017 à 16:51
 ARY_25 - 16 janv. 2017 à 00:20
Bonjour,
Je souhaite après avoir sélectionné deux cellules sur une même colonne cliquer sur un bouton lié a une macro afin qu'il me calcul la différence et que le résultat soit enregistré dans une cellule de la colonne jusqu'à coté.

Merci de bien vouloir m'aider...



A voir également:

2 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
15 janv. 2017 à 18:23
Bonjour,

Essaies :
Private Sub CommandButton1_Click()
Dim c1 As Range
Dim c2 As Range

  ActiveCell.Activate
  With Application.Selection
    On Error GoTo Gestion_Erreur
    If .Count = 2 Then
      If Split(.Address, "$")(1) = Split(.Address, "$")(3) Then
        'Si 2 cellules de la même colonne ...
        Set c1 = Range(Split(Replace(.Address, ":", ","), ",")(0))
        Set c2 = Range(Split(Replace(.Address, ":", ","), ",")(1))
        c2.Offset(0, 1).Value = c2.Value - c1.Value   'ou l'inverse
      Else
        Err.Raise vbObjectError + 513
      End If
    Else
      Err.Raise vbObjectError + 514
    End If
    On Error GoTo 0
  End With
Exit Sub

Gestion_Erreur:
  
  Select Case Err.Number
    Case 13
      MsgBox "Erreur : Valeur(s) non numérique(s)", vbExclamation
    Case vbObjectError + 513
      MsgBox "Les 2 cellules doivent être dans la même colonne", _
             vbExclamation
    Case vbObjectError + 514
      MsgBox "Sélectionner 2 cellules dans la même colonne", _
             vbInformation
    Case Else
      MsgBox "Erreur " & Err.Number & " - " & Err.Description, _
             vbCritical
  End Select
End Sub
0
Bonsoir Patrice33740,
Merci pour ton code il marche parfaitement bien ainsi que la gestion d'erreur.
0
Bonjour ARY_25,

Je te propose ce Fichier Excel 2007.

< Alt >< F11 > pour aller sur Visual Basic, puis revenir sur Excel.
La macro est dans le code de Feuil1.

Dis-moi ce que tu en penses, et si ça te convient.
Tu peux me demander une adaptation si besoin.

Cordialement, albkan  :)
0
Bonsoir albkan,
ton code est parfait et fonctionne très bien grand merci à toi :)
0