Microsoft 365 Code VBA pour bouton "modifier"

  • Initiateur de la discussion Initiateur de la discussion ERN
  • 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 !

ERN

XLDnaute Junior
Bonjour à tous,

Je bloque sur un bouton qui me permets d'enregistrer les modifications apportées à un article de ma base de données.
D'une part ça fait une copie ce qui n'est pas souhaité et d'autre part ça insère la ligne dans mon entête...😳
Quand on ne s'y connait pas et que l'on pioche à droite à gauche des bouts de code ça donne pas grand chose.
Je vous joins le fichier en question.

Merci d'avance de l'aide que vous pourrez m'apporter.


Voici le bout de code :

Private Sub CommandButton4_Click()
Modif = True
If MsgBox("Confirmez-vous la modification ?", vbYesNo, "Confirmation de modification") <> vbYes Then Exit Sub

ligne = Selection.Row
Range("a" & ligne) = TxtB_1.Value
Range("b" & ligne) = TxtB_2.Value
Range("c" & ligne) = TxtB_3.Value
Range("d" & ligne) = TxtB_4.Value
Range("e" & ligne) = TxtB_5.Value
Range("f" & ligne) = TxtB_6.Value
Range("g" & ligne) = TxtB_7.Value
Range("h" & ligne) = TxtB_8.Value
Range("i" & ligne) = TxtB_9.Value
Range("j" & ligne) = TxtB_10.Value
Range("k" & ligne) = TxtB_11.Value

Unload Me
End Sub
 

Pièces jointes

Bonjour ERN,
Si vous vouliez atteindre la dernière ligne de votre tableau XL, alors c'est :
ligne = Sheets("Bdd").[a65000].End(xlUp).Row et non ligne = Sheets("Bdd").[a1].End(xlUp).Row

Mais si vous voulez modifier la ligne cliquée alors c'est :
ligne = ListBox1.ListIndex + 3
( +3 car votre tableau commence en 3 )
Voir PJ, si j'ai bien tout compris.
 

Pièces jointes

Bonjour,

Parfait = c'est exactement ça, 🙏 et merci pour les explications.

J'en profite pour vos demandez si il est possible dans une ListBox d'avoir la molette de la souris active. Car ça ne fonctionne pas dans mon fichier de base. J'ai juste la barre de défilement qui fait son travail.

Est-ce possible ?

Cordialement,
 

Pièces jointes

Bonjour
Pour modifier une ligne il faut trouver cette ligne
Dans ta macro c'est une nouvelle ligne à la suite
Et on ne peux pas faire de recherche (d'après tes données) il n' y a aucune référence unique...
le mieux serait que toutes les références soient renseignées...
et dans ce cas
ligne = Sheets("Bdd").Columns(6).Find(TxtB_6.Value).Row

A+ François
 
Bonjour

Pour la souris, voici un exemple de ce qu'il est possible d'implémenter.

Ce que je présente vient de récupération et assemblage d'éléments trouvés sur Internet, notamment sur ce forum.

"Amuse-toi" à passer d'une List box à l'autre et de scroller avec la souris ...

Cdt
 

Pièces jointes

- 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
2
Affichages
406
  • Question Question
Microsoft 365 modifier un code
Réponses
1
Affichages
443
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
503
Réponses
3
Affichages
462
Réponses
3
Affichages
240
Réponses
7
Affichages
436
Réponses
32
Affichages
1 K
Retour