Microsoft 365 Userform Modifier une Ligne

  • Initiateur de la discussion Initiateur de la discussion eric72
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

eric72

XLDnaute Accro
Bonjour à tous,
Je me retrouve face à un problème qui me fait tourner en rond !!!
J'ai un userform avec un bouton Modifier mais quelle que soit la ligne sélectionnée il modifie toujours la dernière ligne...
Une âme charitable aurait-il une idée du pourquoi?
Merci beaucoup pour votre dévouement.
Eric
 

Pièces jointes

Solution
Bonjour

s'il s'agit de modifier la ligne sélectionnée. il ne faut pas t'amuser à ajouter une ligne en cours de route (entre V=array... et W=Array

d'ailleurs.. pourquoi faire deux array??
tout comme tu as fait un W =array (X,Y,,ZZ) en laissant un vide entre Y et Z) tu peux faire un array unique
ensuite.. ton W contient 33 colonnes ==> resize (33) et pas resize (3)

VB:
Private Sub BtModifPlanning_Click()
TxtNbHrFinal = (TxtNbJrPose * 8)
If TxtDateDebut = "" Then MsgBox "Vous devez saisir une date de Début de Chantier": Exit Sub
If TxtHeure = "00:00" Then MsgBox "Vous devez saisir une Heure de Début de Chantier": Exit Sub
'*************************************************
'event bouton modifier PLANNING...
Bonjour

s'il s'agit de modifier la ligne sélectionnée. il ne faut pas t'amuser à ajouter une ligne en cours de route (entre V=array... et W=Array

d'ailleurs.. pourquoi faire deux array??
tout comme tu as fait un W =array (X,Y,,ZZ) en laissant un vide entre Y et Z) tu peux faire un array unique
ensuite.. ton W contient 33 colonnes ==> resize (33) et pas resize (3)

VB:
Private Sub BtModifPlanning_Click()
TxtNbHrFinal = (TxtNbJrPose * 8)
If TxtDateDebut = "" Then MsgBox "Vous devez saisir une date de Début de Chantier": Exit Sub
If TxtHeure = "00:00" Then MsgBox "Vous devez saisir une Heure de Début de Chantier": Exit Sub
'*************************************************
'event bouton modifier PLANNING
'*************************************************
Application.ScreenUpdating = False

Dim R, X, V, W, i&, reponse

prixdevis = IIf(TxtPxDevis.Value = "", 0, TxtPxDevis.Value)
With [T_Bdd].ListObject
    indx = Lst.ListIndex + 1 'numéro de la ligne sélectionne
    V = Array(CbPoseur, Format(TxtDateHeureDebut, "mm/dd/yyyy hh:mm"), CDbl(TxtNbHrFinal))
    .ListRows(indx).Range(2).Resize(, 3) = V
    W = Array(CDbl(TxtNbPoseur), TxtRefDevis, CbPoseur2, TxtVille, , TxtConfClient, TxtLivToury, CDbl(TxtNbJrPose), TxtCommentaire, CDbl(Qte1), TxtProd1, CDbl(Qte2), TxtProd2, _
    CDbl(Qte3), TxtProd3, CDbl(Qte4), TxtProd4, CDbl(Qte5), TxtProd5, CDbl(Qte6), TxtProd6, CDbl(Qte7), TxtProd7, CDbl(Qte8), TxtProd8, CDbl(Qte9), TxtProd9, _
    CDbl(prixdevis), TxtPoseAnnoncee, Abs(ChbRdvPris), CbPoseur3, CbPoseur4, TxtRefCommande)
    .ListRows(indx).Range(6).Resize(, 33) = W
    '                  LigSal = .ListRows.Count
    '        .ListRows(LigSal).Range.Cells(6).Resize(, 33) = W ' ajout ligne poseur1
End With
UserForm_Initialize     'on remet la listbox a jour automatiquement
Vidange
Application.ScreenUpdating = True

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
90
Réponses
16
Affichages
846
Retour