Que faire afin que les mêmes textbox d'un UserForm insèrent les données ?

Bonsoir,

Comment faire en sorte que 2 textbox d'un UserForm insèrent les données
dans deux cellules selon la feuille active d'un classeur ?

userform 31

je voudrais programmer ce code de sorte qu'il puis réaliser l'objectif signalé au départ.

 
Private Sub CmdButtonENREGISTRER_Click() ' Enregistrer

    If Me.Montant_Mobile = "" Then
        MsgBox "Vous n'avez pas renseigné le montant a Partager", vbInformation, "Saisie manquante"
        Me.Montant_Mobile.SetFocus
        Exit Sub
    End If
    Dim rep As Byte
    rep = MsgBox("Voulez vous enregistrer cette fiche", vbOKCancel)
    If rep <> 1 Then Exit Sub
    If Me.Date_Mobile Like "##/##/####" And IsDate(Date_Mobile.Value) Then

        Worksheets("PARTAGE GLOBAL").Range("G5").Value = CDbl(Montant_Mobile.Value)        ''  << ici
        Worksheets("PARTAGE GLOBAL").Range("G4").Value = CDate(Date_Mobile.Value)     ''  << ici
    Else

        MsgBox "Attention, saisissez une date de réception en respectant le format JJ/MM/AAAA.", vbExclamation, "Saisie manquante"
        Date_Mobile.SetFocus
        Exit Sub

        '__________________________________________________________________________
        With ThisWorkbook.Worksheets("PARTAGE GLOBAL").Range("G5")
            .Value = Montant_Mobile.Value
            .NumberFormat = "#,##0"
        End With
    End If
    '__________________________________________________________________________

End Sub

Cordialement.

Bonjour

Ci joint réponse à ton problème mais je trouve ton appli bien compliquée et j'ai pas tout compris...

A+ François

Bonjour, il suffit de retirer l'info du nom de la feuille pour que celà fonctionne sur la page active.

        Worksheets("PARTAGE GLOBAL").Range("G5").Value = CDbl(Montant_Mobile.Value)        ''  << ici
        Worksheets("PARTAGE GLOBAL").Range("G4").Value = CDate(Date_Mobile.Value) 

'à la place juste les ranges  : 

Range("G5").Value = CDbl(Montant_Mobile.Value)  
Range("G4").Value = CDate(Date_Mobile.Value) 

Private Sub Workbook_Open()
  Dim sht As Worksheet
  'Set sht = ThisWorkbook.Sheets("PARTAGE GLOBAL")
  Set sht = ThisWorkbook.ActiveSheet
  With sht
  .Protect UserInterfaceOnly:=True, Password:="oumar"
  End With
  Set sht = Nothing
End Sub

Bonjour fanfan38 et Xmenpl,

Vos réponses sont bonnes mais suis confronté à des erreurs en rapport à la modification que j'ai opérée dans le code

Private Sub Workbook_Open()

dans la ligne de code:

'Set sht = ThisWorkbook.Sheets("PARTAGE GLOBAL")
  Set sht = ThisWorkbook.ActiveSheet

Pourriez vous m'indiquer comment résoudre ces erreurs ?

userform 32 userform 33 userform 34

Pouvoir insérer les données dans les 2 cellules sans ôter la protection de la feuille active.

'Set sht = ThisWorkbook.Sheets("PARTAGE GLOBAL")

Set sht = ThisWorkbook.ActiveSheet

'Set sht = Sheets("PARTAGE GLOBAL")
  Set sht = ActiveSheet

les 2 sont bonne...

reprend le mien de code

activesheet.unprotect mdp=momo  '(a modifier)
range('G4").value="toto"
range('G5").value="tata"
activesheet.protect mdp=momo  '

A+ François

En même temps si c'est pour pouvoir choisir la feuille active pour enregistrer les données ....

On peut se demander le pourquoi de ce code à l'ouverture du workbook. qui va coller un mot de passe sur un onglet qui ne sera pas forcément celui

que vous voulez renseigner ?

Salut fanfan38;

salut membres du forum,

Les 2 codes suivants sont parfaits.

'Set sht = ThisWorkbook.Sheets("PARTAGE GLOBAL")

Set sht = ThisWorkbook.ActiveSheet

'Set sht = Sheets("PARTAGE GLOBAL")
  Set sht = ActiveSheet

Pourriez vous me commenter le code suivant afin que je sache comment fonctionne t il et dans quel événement doit doit on le placer ?

activesheet.unprotect mdp=momo  '(a modifier)
range('G4").value="toto"
range('G5").value="tata"
activesheet.protect mdp=momo  '

Cordialement.

Dans la macro de l'userform UserFormEnregistrerMontant

Private Sub CmdButtonENREGISTRER_Click() ' Enregistrer
  If Me.TextBoxInsererMontant = "" Then
    MsgBox "Vous n'avez pas renseigné le montant a Partager", vbInformation, "Saisie manquante"
    Me.TextBoxInsererMontant.SetFocus
    Exit Sub
  End If
  If Not IsDate(TextBoxDATE_Enregistree.Value) Then
    MsgBox "Attention, saisissez une date de réception en respectant le format JJ/MM/AAAA.", vbExclamation, "Saisie manquante"
    TextBoxDATE_Enregistree.SetFocus
    Exit Sub
  End If
  ActiveSheet.Unprotect Password:="oumar"
  OP.Range("G4").Value = CDate(TextBoxDATE_Enregistree.Value)
  OP.Range("G5").Value = Val(TextBoxInsererMontant.Value)
  ActiveSheet.Protect Password:="oumar", UserInterfaceOnly:=True
  Unload Me
End Sub

A+ François

ps dans ce cas tu n'as pas besoin de la macro Private Sub Workbook_Open() (dans thisworkbook)

Celà fait suite au code que vous avez postez ( code à l'ouverture du fichier )

Private Sub Workbook_Open()
  Dim sht As Worksheet
  'Set sht = ThisWorkbook.Sheets("PARTAGE GLOBAL")
  Set sht = ThisWorkbook.ActiveSheet
'ICI VOUS PROTEGEZ VOTRE FEUILLE 
 With sht
  .Protect UserInterfaceOnly:=True, Password:="oumar"
  End With
  Set sht = Nothing
End Sub

Du coup Fanfan vous indique comment retirer le mot de passe puis le remettre dans la macro du bouton "Enregistrer"

avant d'écrire dans les cellules G5 et G4

activesheet.unprotect Password:="oumar"
Range("G5").Value = CDbl(Montant_Mobile.Value)
Range("G4").Value = CDate(Date_Mobile.Value)
activesheet.protect Password:="oumar"

Bonjour le fil,

Et monsieur continue gentiment son CROSS POSTING

Extrait de la charte de ce forum

LES AUTRES RÈGLES À RESPECTER

  • Ne postez pas la même question sur un autre forum pour éviter de faire perdre bêtement du temps aux membres sur un problème qui peut être déjà résolu sur l'autre forum. L'inverse est également valable, si vous avez déjà posé votre question sur un autre forum, ne créez pas un doublon sur ce forum (à moins d'avoir clôturé le sujet sur l'autre forum).

Message compris.

Cordialement.

Rechercher des sujets similaires à "que afin memes textbox userform inserent donnees"