Autres correction du code ( bouton modifier)

chaelie2015

XLDnaute Accro
Bonsoir Forum
je souhaite corriger ce code ( bouton dans USF pour modifier des données)
VB:
Private Sub btn_Modifier_Click()
Dim modif As Integer

If Not cbx_NuméroContrat.Value = "" Then
Sheets("BdD Projets").Select
modif = cbx_NuméroContrat.ListIndex + 4
      
Cells(modif, 2) = cbx_NuméroContrat.Value
Cells(modif, 3) = tbx_NuméroAP.Value
Cells(modif, 4) = tbx_Objet.Value
Cells(modif, 5) = tbx_Constructeur.Value
Cells(modif, 6) = cbx_PourCompte.Value
Cells(modif, 8) = tbx_Délais.Value
Cells(modif, 9) = tbx_DateOds.Value
Cells(modif, 7) = tbx_Montant.Value
Cells(modif, 11) = tbx_DateOC.Value
Cells(modif, 12) = tbx_AvenantDélais.Value
Cells(modif, 13) = tbx_DateMESRéelle.Value
Cells(modif, 35) = tbx_Observation.Value

MsgBox ("Modification effectueé")
Else
MsgBox ("Veuillez sélectionné le numéro du contrat à modifier")
Exit Sub
End If

End Sub
si je change la valeur de cbx_NuméroContrat,il ne commence par la ligne 4 ?
Merci par avance
 

fanfan38

XLDnaute Barbatruc
Bonjour et bonne année
VB:
Private Sub btn_Modifier_Click()
Dim modif As Integer
If cbx_NuméroContrat.Value = "" Then
  MsgBox ("Veuillez sélectionné le numéro du contrat à modifier")
  exit sub
endif
Sheets("BdD Projets").Select
modif = cbx_NuméroContrat.ListIndex + 4
Cells(modif, 2) = cbx_NuméroContrat.Value
Cells(modif, 3) = tbx_NuméroAP.Value
Cells(modif, 4) = tbx_Objet.Value
Cells(modif, 5) = tbx_Constructeur.Value
Cells(modif, 6) = cbx_PourCompte.Value
Cells(modif, 8) = tbx_Délais.Value
Cells(modif, 9) = tbx_DateOds.Value
Cells(modif, 7) = tbx_Montant.Value
Cells(modif, 11) = tbx_DateOC.Value
Cells(modif, 12) = tbx_AvenantDélais.Value
Cells(modif, 13) = tbx_DateMESRéelle.Value
Cells(modif, 35) = tbx_Observation.Value
MsgBox ("Modification effectueé")
End Sub
le fait qu'il ne commence pas à la ligne 4, ne vient pas de là...
Un fichier serai le bienvenu

A+ François
 

chaelie2015

XLDnaute Accro
Bonjour François, bernard
ci_rattaché le fichier exemple (usf6 formulaire de recherche)
1.sélectionner un contrat (exemple contrat anvers 001).
2.cliquer sur le bouton rechercher.
3.dans ce cas , o, vas modifier le numéro du contrat "contrat anvers 001" par "contrat anvers 1" cliquer sur le bouton "Modifier"
le souci est la sur la feuille ???
a+
 

Pièces jointes

  • CHARLIE Btn modifier.xlsm
    40 KB · Affichages: 15
Dernière édition:

Dranreb

XLDnaute Barbatruc
Qu'est ce que vous voulez savoir de plus ?
Quand vous aviez fait Rechercher, ListIndex était à 0 puisque c'était le 1er élément de la List
Mais en tapant ensuite autre chose qui n'y existe pas ça le détruit, ça le remet à -1.
Alors c'est normal qu'en l'employant, au lieu de reprendre ce que vous auriez du noter dans une variable globale quand vous aviez trouvé que ça existait, ça écrase le titre en ligne 3 = -1 + 4.
 

chaelie2015

XLDnaute Accro
Qu'est ce que vous voulez savoir de plus ?
Quand vous aviez fait Rechercher, ListIndex était à 0 puisque c'était le 1er élément de la List
Mais en tapant ensuite autre chose qui n'y existe pas ça le détruit, ça le remet à -1.
Alors c'est normal qu'en l'employant, au lieu de reprendre ce que vous auriez du noter dans une variable globale quand vous aviez trouvé que ça existait, ça écrase le titre en ligne 3 = -1 + 4.
Re
encore une fois merci,j'ai fait la modification : modif = cbx_NuméroContrat.ListIndex +3
ça n’a pas fonctionnai.
merci et bon week-end
 

Dranreb

XLDnaute Barbatruc
Ça ne fonctionnera jamais en employant comme numéro de ligne cbx_NuméroContrat.ListIndex + 4.
Employez à la place LCou, une variable globale déclarée Private LCou As Long que vous aurez initialisée lors de la recherche : par LCou = cbx_NuméroContrat.ListIndex + 4 (si toutefois cbx_NuméroContrat.MatchFound à ce moment là).
 

chaelie2015

XLDnaute Accro
Ça ne fonctionnera jamais en employant comme numéro de ligne cbx_NuméroContrat.ListIndex + 4.
Employez à la place LCou, une variable globale déclarée Private LCou As Long que vous aurez initialisée lors de la recherche : par LCou = cbx_NuméroContrat.ListIndex + 4 (si toutefois cbx_NuméroContrat.MatchFound à ce moment là).
merci 🥺 j'ai mal saisi.
 
Dernière édition:

Statistiques des forums

Discussions
312 084
Messages
2 085 193
Membres
102 810
dernier inscrit
mohammedaminelahbali