Problème code pour modifier une ligne dans excel

Signaler
Messages postés
105
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2008
-
Messages postés
105
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2008
-
Bonjour,
J'ai un problème sur ce code :

Private Sub OK_Click()
If choix_act = "" Then
    erreur = MsgBox("Veuillez choisir une activité à modifier", vbOKOnly + vbCritical, "OUPS")
End If
Dim i As Integer
' Déclaration de variable
If choix_act.ListIndex = -1 Then
Exit Sub
End If
'Avant de chercher, on vérifie que quelque chose est bien séléctionné dans le Combobox
For i = 2 To Sheets("Abonnements").Range("A65536").End(xlUp).Row
    If Sheets("Abonnements").Cells(i, 1).Value = choix_act.Text Then
        With ADM
            .MODIFICATION = True
            .Act.Text = Sheets("Abonnements").Cells(i, 1).Value
            If Sheets("Abonnements").Cells(i, 2).Value <> vbNullString Then                .case1.Value False: .prix1.Text Sheets("Abonnements").Cells(i, 2).Value
            End If
            If Sheets("Abonnements").Cells(i, 3).Value <> vbNullString Then                .case2.Value False: .prix2.Text Sheets("Abonnements").Cells(i, 3).Value
            End If
            If Sheets("Abonnements").Cells(i, 4).Value <> vbNullString Then                .case3.Value False: .prix3.Text Sheets("Abonnements").Cells(i, 4).Value
            End If
            If Sheets("Abonnements").Cells(i, 5).Value <> vbNullString Then                .case4.Value False: .prix4.Text Sheets("Abonnements").Cells(i, 5).Value
            End If
            If Sheets("Abonnements").Cells(i, 6).Value <> vbNullString Then                .case5.Value False: .prix5.Text Sheets("Abonnements").Cells(i, 6).Value
            End If
            .MODIFICATION = False
            .Show
        End With
        Exit For
    End If
Next i
Unload Me
End Sub

En fait la ligne ne se modifie pas mais s'ajoute.
Qu'est ce que je peux rajouter?
Merci de votre aide.

4 réponses

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
Salut,

c'est quoi les : case1, case2 case3 etc ?

A+
Messages postés
105
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2008

C'est des case à cocher.
Messages postés
492
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
2 juillet 2012
3
bonsoir,
Plusieur incohérence sur ton code...
Private Sub OK_Click()
' Déclaration de variable
Dim i As Integer


If choix_act.Text = "" Then
    erreur = MsgBox("Veuillez choisir une activité à modifier", vbOKOnly + vbCritical, "OUPS")
    Exit Sub
End If
'------------------------------
'Avant de chercher, on vérifie que quelque chose est bien séléctionné dans le Combobox
'double emploi
If choix_act.ListIndex = -1 Then Exit Sub
'------------------------------

Je suppose que ADM est une UF ?
je ne cois pas ce que tu veux dire par...
En fait la ligne ne se modifie pas mais s'ajoute.
??
Explique un peu mieux.
Messages postés
105
Date d'inscription
dimanche 16 décembre 2007
Statut
Membre
Dernière intervention
11 novembre 2008

Et bien, je voudrais que quand mon userform ADM s'ouvre et qu'il y a validation, les données rentrées soient remplacer par celle existant déjà, sachant qu'il y a une liste déroulante pour choisir une activité existant déjà dans la colonne A de la feuille Abonnements.
J'espere m'etre mieux exprimée.