Robert, le forum
Je viens de faire l'essaie et me suis apercu que je vais avoit un ti souci.
Lors de la rencontre avec mes futurs clients.
Je rentre divers renseignement: (Nom, Prenom etc...)
Une fois cela saisie, a la validation, une MsgBox me demande si je veux signé ou non
Si oui cela me met un numero de contrat mais le code utilise passe par rapport au numero de la dernière ligne, alors qu'il serait je pense préférable de faire un test du dernier numero de contrat.
Voici le code que j'utilise :
Private Sub BoutNouvelle_Click()
Dim CTRL As Control
Dim réponse
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne Numéro
'ici je repère la dernière ligne vide pour la Collections des données
L = Sheets("Renseignements").Range("A65536").End(xlUp).Row + 1
'Ici c'est le report de la saisie dans la feuille
With Sheets("Renseignements")
.Range("B" & L).Value = txtNomDuMarie.Value
.Range("C" & L).Value = txtPrenomDuMarie.Value
.Range("D" & L).Value = "' " & txtPortableDuMarie.Value
.Range("E" & L).Value = txtNomDeLaMariee.Value
.Range("F" & L).Value = txtPrenomDeLaMariee.Value
.Range("G" & L).Value = "'" & txtPortableDeLaMariee.Value
.Range("H" & L).Value = "'" & txtNumDeBatiment.Value
.Range("I" & L).Value = txtBatiment.Value
.Range("J" & L).Value = "'" & txtNumeroDeRue.Value
.Range("K" & L).Value = txtNomDeRue.Value
.Range("L" & L).Value = "'" & cbxVilleOrganisateurs.Value
.Range("M" & L).Value = txtCodePostaleOrganisateurs.Value
.Range("N" & L).Value = "'" & txtTelephoneDomicileOrganisateurs.Value
.Range("O" & L).Value = "'" & cbxPrixFrancs.Value
.Range("P" & L).Value = "'" & cbxAccompteFrancs.Value
.Range("Q" & L).Value = "'" & txtSoldeFrancs.Value
.Range("R" & L).Value = "'" & txtPrixEuros.Value
.Range("S" & L).Value = "'" & txtAccompteEuros.Value
.Range("T" & L).Value = "'" & txtSoldeEuros.Value
.Range("U" & L).Value = cbxTypeDeSoiree.Value
.Range("V" & L).Value = txtDateDeLaPrestation.Value
.Range("W" & L).Value = "'" & cbxHeureArrivee.Value
.Range("X" & L).Value = "'" & cbxHeureFin.Value
.Range("Y" & L).Value = "'" & txtNbPersRepas.Value
.Range("Z" & L).Value = "'" & txtNbPersDessert.Value
.Range("AA" & L).Value = "'" & cbxNomDeSalle.Value
.Range("AB" & L).Value = txtTelSalle.Value
.Range("AC" & L).Value = txtLieuSalle.Value
.Range("AD" & L).Value = "'" & txtCodePostalLieuSalle.Value
.Range("AE" & L).Value = "'" & cbxTraiteur.Value
.Range("AF" & L).Value = "'" & txtTelTraiteur.Value
.Range("AG" & L).Value = txtVilleActiviteTraiteur.Value
.Range("AH" & L).Value = "'" & txtCodePostalTraiteur.Value
.Range("AI" & L).Value = LTrim(txtNomDuMarie.Value) & " " & txtPrenomDuMarie.Value & " et " & txtNomDeLaMariee.Value & " " & txtPrenomDeLaMariee.Value
.Range("AK" & L).Value = txtMailDuMarie.Value
.Range("AL" & L).Value = txtMailDeLaMariee.Value
réponse = MsgBox("Voulez-vous établir le contrat maintenant ? ", vbYesNo + vbQuestion, "VALIDATION")
If réponse = vbYes Then
lblNDeContrat = Year(Date) & "-" & Format(L - 7, ["0#"])
.Range("A" & L).Value = "'" & lblNDeContrat
.Range("AJ" & L).Value = Application.Proper(Format(Now, "dddd dd mmmm yyyy "))
Call MiseEnFormeDossier(Range([A65536].End(xlUp)(1), [AJ65536].End(xlUp)(1)))
EnvoieContrat_recto
If Range("A9") = "" Then
Call MiseEnFormeEntètes
End If
Else
lblNDeContrat = "Non signé"
.Range("A" & L).Value = "'" & lblNDeContrat
.Range("AJ" & L).Value = "Contrat non signé" 'Peut etre supprimé
Call MiseEnFormeDossier(Range([A65536].End(xlUp)(1), [AJ65536].End(xlUp)(1)))
If Range("A9") = "" Then
Call MiseEnFormeEntètes
End If
End If
End With
End Sub
Et donc pour la suite (Question que j'ai poser sur le forum), même problème, car de la manière faite cela prend en compte la dernière ligne du tableau, alors qu'il faudrait que je prenne en compte, le dernier N° de contrat saisie et remplacer dans la feuille "Non-Signé" par le nouveau N° du contrat
Grace a ta suggestion, je me suis rendu compte que ma manière de faire au debut n'ete pas la meilleur en vue de la nouvelle option .
Je te remercie,G'Claire