Bonjour, voici mon code j'espère que vous reussirez a comprendre :
je vous explique un peu ce que je souhaite même si c'est écrit dans le code.
J'ai deux userform qui doivent être liée lors de la saisie d'information.
ce que je souhaite c'est une formule logique qui me dise :
si la liste des lettre jaune n'est pas selectionné alors
Ecris les données à la suite tant que la ligne est en blanc
sinon cherche la valeur de lettrejaune ( c'est une listbox) et copie l'ensemble (tout le reste des intitulés filières, pilote etc... dans laquelle se trouve la lettre jaune)
Merci voici le code de la userform 1 où sont saisies les premières données
code userform3 ( c'est la où existe le problème)
Voila si jamais vous voyez autre chose qui serait utilse de mettre je suis à votre écoute merci.
je vous explique un peu ce que je souhaite même si c'est écrit dans le code.
J'ai deux userform qui doivent être liée lors de la saisie d'information.
ce que je souhaite c'est une formule logique qui me dise :
si la liste des lettre jaune n'est pas selectionné alors
Ecris les données à la suite tant que la ligne est en blanc
sinon cherche la valeur de lettrejaune ( c'est une listbox) et copie l'ensemble (tout le reste des intitulés filières, pilote etc... dans laquelle se trouve la lettre jaune)
Merci voici le code de la userform 1 où sont saisies les premières données
Code:
Private Sub CommandButton2_Click()
'bouton copier
If TextBox3 = "" Or TextBox2 = "" Or TextBox1 = "" Then
MsgBox "veuillez saisir tout les champs"
End If
'Ecris les données à la suite tant que la ligne est en blanc
Dim i As String
i = 3
Do While (Sheets(1).Cells(i, 2) <> "") And (i <= 2000)
i = i + 1
Loop
Sheets(1).Cells(i, 2) = TextBox1.Text
Sheets(1).Cells(i, 3) = TextBox2.Text
Sheets(1).Cells(i, 4) = TextBox3.Text
Sheets(1).Cells(i, 8) = ListBox1.Value
MsgBox "Les données sont copiées"
If MsgBox("Voulez vous saisir une nouvelle lettre ?", vbYesNo, "Demande de confirmation") = vbYes Then
'efface à nouveau le contenu
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
Else
Unload UserForm1
End If
End Sub
Private Sub CommandButton3_Click()
'bouton exit
Unload UserForm1
End Sub
Private Sub Label1_Click()
End Sub
Private Sub TextBox1_()
'saisie de la date du calendrier
End Sub
Private Sub ListBox1_Click()
'Destinataires
End Sub
Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
'appel de la procédure click sur textbox1
Call UserForm2.Show
End Sub
Private Sub TextBox2_Change()
'inscription de la référence de la lettre jaune
End Sub
Private Sub UserForm_Initialize()
'appel à la liste
ListBox1.ColumnHeads = True
ListBox1.RowSource = "feuil3!b3:b19"
End Sub
code userform3 ( c'est la où existe le problème)
Code:
Private Sub CommandButton2_Click()
'bouton copier
'si la liste des lettre jaune n'est pas selectionné alors
'Ecris les données à la suite tant que la ligne est en blanc
'sinon cherche la valeur de lettrejaune et copie l'ensemble dans laquelle se trouve
'la lettre jaune
Dim i As String
i = 3
Do While (Sheets(1).Cells(i, 2) <> "") And (i <= 2000)
i = i + 1
Loop
Sheets(1).Cells(i, 5) = FILIERES.Value
Sheets(1).Cells(i, 6) = TYPEACTION.Value
Sheets(1).Cells(i, 7) = Libelleaction.Text
Sheets(1).Cells(i, 9) = PILOTE.Value
Sheets(1).Cells(i, 10) = COPILOTE.Value
Sheets(1).Cells(i, 11) = SUPPORT.Value
Sheets(1).Cells(i, 12) = commentaire.Text
Sheets(1).Cells(i, 18) = COPILOTE.Value
MsgBox "les données se sont copiées"
If MsgBox("Voulez vous saisir une nouvelle action ?", vbYesNo, "Demande de confirmation") = vbYes Then
'efface à nouveau le contenu
FILIERES = ""
TYPEACTION = ""
PILOTE = ""
COPILOTE = ""
SUPPORT = ""
LETTREJAUNE = ""
COMITE = ""
Libelleaction = ""
commentaire = ""
Else
Unload UserForm3
End If
End Sub
Private Sub CommandButton3_Click()
'bouton annuler
FILIERES = ""
TYPEACTION = ""
PILOTE = ""
COPILOTE = ""
SUPPORT = ""
LETTREJAUNE = ""
COMITE = ""
Libelleaction = ""
commentaire = ""
End Sub
Private Sub CommandButton4_Click()
Unload UserForm3
End Sub
Private Sub Label1_Click()
End Sub
Private Sub Label8_Click()
End Sub
Private Sub UserForm_Initialize()
FILIERES.ColumnHeads = True
TYPEACTION.ColumnHeads = True
PILOTE.ColumnHeads = True
COPILOTE.ColumnHeads = True
SUPPORT.ColumnHeads = True
LETTREJAUNE.ColumnHeads = True
COMITE.ColumnHeads = True
FILIERES.RowSource = "feuil3!f3:f19"
TYPEACTION.RowSource = "feuil3!e3:e19"
PILOTE.RowSource = "feuil3!c3:c19"
COPILOTE.RowSource = "feuil3!d3:d19"
SUPPORT.RowSource = "feuil3!h3:h19"
LETTREJAUNE.RowSource = "feuil2!d3:d2000"
COMITE.RowSource = "feuil3!g3:g19"
End Sub
Voila si jamais vous voyez autre chose qui serait utilse de mettre je suis à votre écoute merci.