Une nouvelle question pour laquelle je n'ai pu obtenir aucune solution (malgré les nombreux sujets sur les cellules vides)
A chaque validation de l'userform, une nouvelle ligne se rajoute sur la feuille "donnée", mais toutes les cellules ne doivent pas forcément être remplies.
Mon soucis c'est que dans une même colonne,les cellules de la ligne suivante devant être remplies, ne le sont pas car le contenu atteint les cellules vides de la ligne précédente.
Ex : sur la ligne 1 je veux valider : NOM PRÉNOM
sur la ligne 2 je veux valider : MATRICULE NOM PRÉNOM
Lors de la validation le matricule se positionnera sur la ligne 1 car la cellule est vide.
QUESTION: serait il possible de faire en sorte que pour chacune des lignes rajoutées, les cellules restées vides soient automatiquement remplies d'un "0" ou "x" ?
Re : insérer 0 dans cellules ne recevant pas de données
Bonjour kly,
avec ce code:
Code:
Private Sub cmdOK_Click()
' Conversion du nom et prénom en NOMPRPRE
'Matriculeconverti = Application.WorksheetFunction.Proper(Me.txtMatricule)
'Nomconverti = Application.WorksheetFunction.Proper(Me.txtNom)
'Prenomconverti = Application.WorksheetFunction.Proper(Me.txtPrénom)
' Mise en place des valeurs saisies
derligne = Range("A65536").End(xlUp).Row + 1
Worksheets("Donnees").Range("A" & derligne) = txtMatricule.Value
Worksheets("Donnees").Range("B" & derligne) = txtNom.Value
Worksheets("Donnees").Range("C" & derligne) = txtPrénom.Value
' On décharge le formulaire
Unload Me
Exit Sub
End Sub
Attention tout de même, car si une ligne est entrée sans matricule, la prochaine ligne entrée effacera celle qui n'avait pas de matricule.
Il faut donc forcer l'utilisateur à inscrire une donnée dans le matricule.
Re : insérer 0 dans cellules ne recevant pas de données
excellent Goldenboy.....!! c'est deja une bonnne avancée et je t'en remercie.
Toutefois, cela voudrait il dire qu'il n'est pas possible de remplacer les cellules vides par une valeur par défaut, sur cette ligne ?
Re : insérer 0 dans cellules ne recevant pas de données
Voici une solution
Code:
Private Sub cmdOK_Click()
' Conversion du nom et prénom en NOMPRPRE
'Matriculeconverti = Application.WorksheetFunction.Proper(Me.txtMatricule)
'Nomconverti = Application.WorksheetFunction.Proper(Me.txtNom)
'Prenomconverti = Application.WorksheetFunction.Proper(Me.txtPrénom)
' Mise en place des valeurs saisies
Dim DLigne1 As Integer
Dim DLigne2 As Integer
Dim DLigne3 As Integer
Dim DLigne_la_plus_grande As Integer
DLigne1 = Worksheets("Donnees").Range("A65536").End(xlUp).Row + 1
DLigne2 = Worksheets("Donnees").Range("B65536").End(xlUp).Row + 1
DLigne3 = Worksheets("Donnees").Range("C65536").End(xlUp).Row + 1
With Sheets("derniere ligne")
.Range("a1") = DLigne1
.Range("a2") = DLigne2
.Range("a3") = DLigne3
End With
DLigne_la_plus_grande = Sheets("derniere ligne").Range("a4").Value
If txtMatricule.Value = "" Then
txtMatricule.Value = "x"
End If
If txtNom.Value = "" Then
txtNom.Value = "x"
End If
If txtPrénom.Value = "" Then
txtPrénom.Value = "x"
End If
Worksheets("Donnees").Range("A" & DLigne_la_plus_grande).Value = txtMatricule.Value
Worksheets("Donnees").Range("B" & DLigne_la_plus_grande).Value = txtNom.Value
Worksheets("Donnees").Range("C" & DLigne_la_plus_grande).Value = txtPrénom.Value
' On décharge le formulaire
Unload Me
Exit Sub
End Sub