Appliquer une macro de façon répété dans une colonne
b
Bonjour, je suis débutant dans la VBA et donc je sollicite votre aide pour me débloquer.
Ci- joint mon code, je voudrais qu'il s'applique pour chaque cellule qui se trouve en dessous à partir de F7. C’est-à-dire dans toute la colonne F .Je vous remercie d'avance.
Dim B As Integer
Dim R As Integer
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("F7")) Is Nothing Then
Call message
End If
End Sub
Sub message()
Retour = MsgBox("Est-ce une sortie de composant ?", vbYesNo + vbQuestion, "valeur")
If Retour = vbYes Then
R = InputBox("Entrez la quantité du stock sortie")
B = Range("F7") - R
Range("F7").Value = B
Else
R = InputBox("Entrez la quantité du stock que vous allez rentré")
B = Range("F7") + R
Range("F7").Value = B
End If
End SubBonjour,
A tester !?
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim LastRow As Long, Rng As Range
With Me
LastRow = .Cells(.Rows.Count, 6).End(xlUp).Row
Set Rng = .Cells(7, 6).Resize(LastRow - 6)
End With
If Not Intersect(Target, Rng) Is Nothing Then
Cancel = True
Call message
End If
End Sub
Private Sub message()
Dim Retour As VbMsgBoxResult
Dim B As Long, R As Long
Retour = MsgBox("Est-ce une sortie de composant ?", vbYesNo + vbQuestion, "valeur")
If Retour = vbYes Then
R = InputBox("Entrez la quantité du stock sortie")
B = Range("F7") - R
Range("F7").Value = B
Else
R = InputBox("Entrez la quantité du stock que vous allez rentrer")
B = Range("F7") + R
Range("F7").Value = B
End If
End Subb
Merci déjà d'avoir répondu, mais le code ne marche pas.
Il faudrait que quand je clique sur la cellule F8 cela fasse les mêmes opérations que la macro précédente tout en prenant en compte le fait que l'on est décaler la ligne.
Il faudrait que quand je clique sur la cellule F8 cela fasse les mêmes opérations que la macro précédente tout en prenant en compte le fait que l'on est décaler la ligne.
b
J'ai fini par trouver tout seul voici le nouveau code si ça peut aider...
Dim B As Integer
Dim R As Integer
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("F7:F99")) Is Nothing Then
Call message
End If
End Sub
Sub message()
Retour = MsgBox("Est-ce une sortie de composant ?", vbYesNo + vbQuestion, "valeur")
If Retour = vbYes Then
R = InputBox("Entrez la quantité du stock sortie")
B = ActiveCell.Value - R
ActiveCell.Value = B
Else
R = InputBox("Entrez la quantité du stock que vous allez rentré")
B = ActiveCell.Value + R
ActiveCell.Value = B
End If
End Sub