XL 2019 Mise à jour via formulaire

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 !

counterbob

XLDnaute Nouveau
Bonjour, j'ai un formulaire de saisie et de modification des valeurs sur une feuille "BD"
Je souhaiterais que les valeurs saisies mettent aussi à jour les valeur sur une autre feuille "Factures"
- les 6 premières colonnes sont identiques
- sur le formulaire la recherche est effectuée sur la colonne "D" sans doublon
- La colonne "D" de la feuille "Facture" contient des doublons.
Je souhaiterais que lors de la mise à jour de la feuille BD toutes les lignes correspondants à la valeur trouvée colonne "D" soient mise à jour également.
Je mets le code de mise à jour.
Merci pour une piste


VB:
Private Sub B_validation_Click()
  If Me.nom = "" Then
     MsgBox "Saisir un nom"
     Me.nom.SetFocus
     Exit Sub
  End If
  If Not IsDate(Me.Date) Then
     MsgBox "Saisir une date "
     Me.Date.SetFocus
     Exit Sub
  End If

  '--- Transfert Formulaire dans BD
   '-- Gr
   temp = ""
   For Each c In Me.Gr.Controls
     If c.Value = True Then
       temp = c.Caption
     End If
   Next c
   f.Cells(ligneEnreg, 1) = temp
 
   '-- Magasin
   temp = ""
   For Each c In Me.Mag.Controls
     If c.Value = True Then
       temp = c.Caption
     End If
   Next c
   f.Cells(ligneEnreg, 8) = temp
   With f
   On Error Resume Next
   f.[A1].Sort key1:=[D2], Order1:=xlAscending, Header:=xlGuess
   End With
   f.Cells(ligneEnreg, 2) = UCase(Me!nom)
   f.Cells(ligneEnreg, 3) = Application.Proper(Me.Prenom)
   f.Cells(ligneEnreg, 4) = UCase(Me!nom) & "_" & Application.Proper(Me.Prenom)
   f.Cells(ligneEnreg, 5) = Me.Service
   f.Cells(ligneEnreg, 6) = CDate(Me.Date)
   f.Cells(ligneEnreg, 7) = Me.Tel
 
   Columns("F:F").NumberFormat = "m/d/yyyy" 'format date courte
   End Sub
 
Bonjour le fil

counterbob
Juste pour infos
(et pour ce qui me concerne, pour passer le temps)
Une autre façon "raccourcie" de renvoyer les valeurs dans la feuille
Ci-dessous ma syntaxe utilisée pour mon test.
VB:
Private Sub CommandButton1_Click()
Dim Valeurs
With Application
    Valeurs = Array(UCase(nom), .Proper(Prenom), UCase(nom) & "_" & .Proper(Prenom), Service, CDate(tbDate), tbTel)
End With
ligneEnreg = 5 ' pour test
Cells(ligneEnreg, 2).Resize(, 6) = Valeurs
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
8
Affichages
466
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
5
Affichages
235
Réponses
40
Affichages
3 K
Retour