Ecrire derniére cellule vide a droite

Bonjour,

Je me permets de vous sollicité pour un problème de code via un userform

Bien que j’ai essayé de faire de recherche je n’ai pas réussis a trouvé la solution

Dans l’userform avec 2 combobox, une qui sélectionne la feuil et la deuxième qui sélectionne un nom

Et j’ai des taches a effectuées pour cela j’ai un DTPicker puis une combobox qui sélectionne une tache et enfin un texbox

Et je voudrais si possible une aide surtout pour remplir ma ligne de la feuil sélectionner, ce qu’il me Faudrait cela serais d’avoir les taches (date, tache et prix) qui j’ajouterons à partir de la première cellule vide à droite des données

Je vous remercie et espère que j’ai réussis a donnée des explications assez claire

Je joins toute fois un extrait du fichier

18progessaye.xlsm (155.39 Ko)

Bonjour Marc02

Voici ton fichier modifié

Les codes modifié sont :

Private Sub CommandButton1_Click()
  Dim NCol As Long, DerLig As Long, LigF As Long
  Dim i As Integer
  Dim Feuille As String

  If ComboBox2 = "" Then Exit Sub
  ' Avec la feuille sélectionnée
  With Worksheets(ComboBox1.Value)
    ' En cas d'erreur dans la recherche, on continue
    On Error Resume Next
    ' trouver la ligne correspondant au client
    LigF = 0: LigF = .Range("A:A").Find(What:=Me.ComboBox2.Text, LookIn:=xlValues, LookAt:=xlWhole, _
      SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Row
    ' Remettre la gestion des erreurs à la normale
    On Error GoTo 0
    ' Si nom existe déjà dans la liste ou si nouveau
    If LigF > 0 Then
      ' Prochaine colonne vide à droite
      NCol = .Cells(LigF, Columns.Count).End(xlToLeft).Offset(0, 1).Column
      ' Inscrire la tache
      .Cells(LigF, NCol).Value = Format(Me.DTPicker1.Value, "mm/dd/yyyy")
      .Cells(LigF, NCol + 1).Value = Me.ComboBox5
      .Cells(LigF, NCol + 2).Value = Me.TextBox6.Value
      MsgBox "La tache a été ajoutée en : " & Range(Cells(LigF, NCol), Cells(LigF, NCol + 2)).Address
    Else
      ' Nouveau = ajouter toutes les données
      DerLig = .Range("A" & Rows.Count).End(xlUp).Row + 1
      .Range("A" & DerLig).Value = Ajout_Taches.ComboBox2
      .Range("B" & DerLig).Value = TextBox1.Value
      .Range("C" & DerLig).Value = TextBox2.Value
      .Range("D" & DerLig).Value = TextBox3.Value
      .Range("E" & DerLig).Value = TextBox4.Value
      .Range("F" & DerLig).Value = TextBox5.Value
      .Range("G" & DerLig).Value = Format(Me.DTPicker1.Value, "dd/mm/yyyy")
      .Range("H" & DerLig).Value = Me.ComboBox5
      .Range("I" & DerLig).Value = Me.TextBox6.Value
    End If
  End With
  ComboBox2.SetFocus
  ComboBox2.Value = "": ComboBox5.Value = ""
  For i = 1 To 6: Me("TextBox" & i).Value = "": Next i
  Sheets("Menu").Activate
End Sub
Private Sub TextBox6_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  ' Uniquement des chiffres ou la virgule
  If InStr(1, "0123456789.,", Chr(KeyAscii)) = 0 Then KeyAscii = 0
  ' Retourne une virgule lors de la saisie du point
  If Chr(KeyAscii) = "." Then KeyAscii = Asc(",")
End Sub

A+

Bonjour, BrunoM45,

un tout grand merci surtout quand je voie le mal que vous vous êtes donnée, mais cela fonction a la perfection

Super, Super

Encore un grand Merci

marc

Rechercher des sujets similaires à "ecrire derniere vide droite"