VBA Excel ligne variable et colonne fixe
Résolu
tchocollot
Messages postés
6
Statut
Membre
-
tchocollot Messages postés 6 Statut Membre -
tchocollot Messages postés 6 Statut Membre -
Bonjour,
J'ai un projet sur VBA et j'ai un besoin d'aide:
Sur mon userform je rentre une valeur (cbx_besoin) et je demande de rechercher cette valeur(avec find).
Ensuite grace à l'offset je récupère la case et j'ajoute une autre valeur (txt_nbr_tol) -3 cases à côté.
Mon problème est le suivant: la valeur recherché peut être aussi bien à en colonne J,L,N mais je veux ajouter sur la même ligne de la valeur trouvé la valeur de txt_nbr_tol dans une colonne fixe (ici H).
Quand je retrouve ma valeur, je voudrai récupérer le numéro de la ligne et ajouter txt_nbr_tol à la valeur de la colonne H.
Actuellement avec l'offset ca marche uniquement avec la colone J car j'ai fixé le -3.
On m'a dit qu'avec un row ca devrai fonctionner mais je n'ai pas réussi.
C'est pour ca que j'ai besion de votre aide.
Merci d'avance pour votre aide
Voici mon code:
Worksheets("stock").Activate
With Worksheets("stock").Range("H2:O60")
Set c = .Find(cbx_besoin.Value, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Offset(0, -3).Value = c.Offset(0, -3).Value + txt_nbr_tol.Value
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
c.Select
Selection.ClearContents
c.Offset(0, -1).Select
Selection.ClearContents
MsgBox "Besoin supprimé"
End If
End With
J'ai un projet sur VBA et j'ai un besoin d'aide:
Sur mon userform je rentre une valeur (cbx_besoin) et je demande de rechercher cette valeur(avec find).
Ensuite grace à l'offset je récupère la case et j'ajoute une autre valeur (txt_nbr_tol) -3 cases à côté.
Mon problème est le suivant: la valeur recherché peut être aussi bien à en colonne J,L,N mais je veux ajouter sur la même ligne de la valeur trouvé la valeur de txt_nbr_tol dans une colonne fixe (ici H).
Quand je retrouve ma valeur, je voudrai récupérer le numéro de la ligne et ajouter txt_nbr_tol à la valeur de la colonne H.
Actuellement avec l'offset ca marche uniquement avec la colone J car j'ai fixé le -3.
On m'a dit qu'avec un row ca devrai fonctionner mais je n'ai pas réussi.
C'est pour ca que j'ai besion de votre aide.
Merci d'avance pour votre aide
Voici mon code:
Worksheets("stock").Activate
With Worksheets("stock").Range("H2:O60")
Set c = .Find(cbx_besoin.Value, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Offset(0, -3).Value = c.Offset(0, -3).Value + txt_nbr_tol.Value
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
c.Select
Selection.ClearContents
c.Offset(0, -1).Select
Selection.ClearContents
MsgBox "Besoin supprimé"
End If
End With
A voir également:
- VBA Excel ligne variable et colonne fixe
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Formule somme excel colonne - Guide
2 réponses
bonjour
je suppose que c'est ta ligne : c.Offset(0, -3).Value = c.Offset(0, -3).Value + txt_nbr_tol.Value
Si tu met ceci, tu vas toujours sur la colonne H
Tu modifies toujours la colonne H (8), sur la ligne de la cellule que tu as trouvé, quelle que soit la colonne du find.
je suppose que c'est ta ligne : c.Offset(0, -3).Value = c.Offset(0, -3).Value + txt_nbr_tol.Value
Si tu met ceci, tu vas toujours sur la colonne H
Cells(c.Row, 8).Value = Cells(c.Row, 8).Value + txt_nbr_tol.Value
Tu modifies toujours la colonne H (8), sur la ligne de la cellule que tu as trouvé, quelle que soit la colonne du find.