Re : Modif macro qui copie d'un userform
Bonjour Pierrejean,
Pour la premiere solution,
si la 1ere ligne est remplie, les donnees ne se recopient pas
Pour la seconde solution
Le probleme se pose juste pour la premiere colonne, car si la cellule "année" est vide au dessus, elle complete cette cellule.
Voici tout le code et merci encore pour le coup de main
Private Sub cmdValider_Click()
If Me.Annee.Text = "" Then
MsgBox "Vous devez entrer une année."
Me.Annee.SetFocus
Exit Sub
End If
If Me.Mois.Text = "" Then
MsgBox "Vous devez entrer un mois."
Me.Mois.SetFocus
Exit Sub
End If
If Me.Service.Text = "" Then
MsgBox "Vous devez entrer un service."
Me.Service.SetFocus
Exit Sub
End If
If Me.Nom_prenom.Text = "" Then
MsgBox "Vous devez entrer un nom et un prénom."
Me.Nom_prenom.SetFocus
Exit Sub
End If
If Me.delai.Text = "" Then
MsgBox "Vous devez entrer un nom."
Me.delai.SetFocus
Exit Sub
End If
If Me.Lieu.Text = "" Then
MsgBox "Vous devez entrer un lieu."
Me.Lieu.SetFocus
Exit Sub
End If
If Me.Projet.Text = "" Then
MsgBox "Vous devez entrer un projet."
Me.Projet.SetFocus
Exit Sub
End If
If Me.Nature_tache.Text = "" Then
MsgBox "Vous devez entrer une nature de tâche."
Me.Nature_tache.SetFocus
Exit Sub
End If
If Me.Entite_facturer.Text = "" Then
MsgBox "Vous devez entrer une entité à facturer."
Me.Entite_facturer.SetFocus
Exit Sub
End If
If Me.Duree_jours.Text = "" Then
MsgBox "Vous devez entrer un nombre de jours."
Me.Duree_jours.SetFocus
Exit Sub
End If
Dim derlig&
With Sheets("Source")
derlig = [A65536].End(xlUp) + 1
.Cells(derlig, 1) = Annee
.Cells(derlig, 2) = Mois
.Cells(derlig, 3) = Service
.Cells(derlig, 4) = Nom_prenom
.Cells(derlig, 5) = delai
.Cells(derlig, 6) = Lieu
.Cells(derlig, 7) = Projet
.Cells(derlig, 8) = Nature_tache
.Cells(derlig, 9) = Entite_facturer
.Cells(derlig, 10) = Duree_jours
.Cells(derlig, 11) = Transports
.Cells(derlig, 11) = Transports
.Cells(derlig, 12) = Logistique
.Cells(derlig, 13) = Divers
.Cells(derlig, 16) = Montant - frais
End With
'Copie des valeurs du formulaire vers l'onglet "Source"
'Sheets("Source").Range("A65536").End(xlUp).Offset(1, 0).Value = Annee
'Sheets("Source").Range("A65536").End(xlUp).Offset(1, 1).Value = Mois
'Sheets("Source").Range("A65536").End(xlUp).Offset(1, 2).Value = Service
'Cette ligne en plus de copier, met la 1ere lettre de chaque mot en majuscule
'par Application.Proper(Me!Nom_prenom)
'Sheets("Source").Range("A65536").End(xlUp).Offset(1, 3).Value = Application.Proper(Me!Nom_prenom)
'Sheets("Source").Range("A65536").End(xlUp).Offset(1, 4).Value = delai
'Sheets("Source").Range("A65536").End(xlUp).Offset(1, 5).Value = Lieu
'Sheets("Source").Range("A65536").End(xlUp).Offset(1, 6).Value = Projet
'Sheets("Source").Range("A65536").End(xlUp).Offset(1, 7).Value = Nature_tache
'Sheets("Source").Range("A65536").End(xlUp).Offset(1, 8).Value = Entite_facturer
'Sheets("Source").Range("A65536").End(xlUp).Offset(1, 9).Value = Duree_jours
'Sheets("Source").Range("A65536").End(xlUp).Offset(1, 10).Value = Transports
'Sheets("Source").Range("A65536").End(xlUp).Offset(1, 11).Value = Logistique
'Sheets("Source").Range("A65536").End(xlUp).Offset(1, 12).Value = Divers
'Sheets("Source").Range("A65536").End(xlUp).Offset(1, 15).Value = Montant_Frais
Unload Me
End Sub