Re : vba rechercher valeur saisie dans un combobox dans un tableau et definir action
Bonsoir Robert,
Tout d'abord un grand merci pour ton aide.
Je réponds un peu tard, désolée, je suis partie quelques jours en vacances, sans Internet , mais avec mon ordi quand meme.
Merci pour les "Frames"( c'est beaucoup + agréable à voir) et le gestionnaire de noms . pas besoin de changer mes Rowsources quand je modifierai mes listes
Pour le problem du tableau Actions à alimenter à la ligne suivante ou dans les colonnes de droite, j'ai essayé ton code mais ça écrase mes données (la deuxième action écrase la première).
Mais comme il ne faisait pas beau en vacances, j'ai trouvé ça (une partie vient de mon beau- frère j'avoue)
With Sheets("Actions")
Set columnAffaire = .Columns(1)
Set c = columnAffaire.Find(ComboBox65.Value, LookIn:=xlValues)
If MsgBox("Enregistrer l'action en cours?", vbOK, "Créer Action") = vbOK Then
If c Is Nothing Then
Der_lig = .Range("D65000").End(xlUp).Row + 1
.Range("A" & Der_lig) = ComboBox65
.Range("B" & Der_lig) = ComboBox1
.Range("C" & Der_lig) = ComboBox2
.Range("D" & Der_lig) = ComboBox3
.Range("E" & Der_lig) = TextBox4
.Range("F" & Der_lig) = TextBox3
.Range("G" & Der_lig) = ComboBox4
.Range("H" & Der_lig) = TextBox2
.Range("I" & Der_lig) = 1
.Range("J" & Der_lig) = TextBox46
.Range("JA" & Der_lig) = ComboBox66
Else
adresscell = c.Address
Range(adresscell).Activate
lineNb = c.Row
Do While Not (IsEmpty(ActiveCell))
'Cherche la première colonne vide
NbColumn = NbColumn + 1
Selection.Offset(0, 1).Select
Loop
colNb = ActiveCell.Column
'lineNb = ActiveCell.Line
.Cells(lineNb, colNb) = ComboBox65
.Cells(lineNb, colNb + 1) = ComboBox1
.Cells(lineNb, colNb + 2) = ComboBox2
.Cells(lineNb, colNb + 3) = ComboBox3
.Cells(lineNb, colNb + 4) = TextBox4
.Cells(lineNb, colNb + 5) = TextBox3
.Cells(lineNb, colNb + 6) = ComboBox4
.Cells(lineNb, colNb + 7) = TextBox2
.Cells(lineNb, colNb + 8) = WorksheetFunction.Floor(colNb / 8, 1) + 1
'Donne le numérotation de l'action
.Cells(lineNb, colNb + 7) = TextBox46
.Cells(lineNb, "JA") = ComboBox66
End If
End If
End With
End If
ActiveWorkbook.Save
Unload Me
End Sub
Ca marche, je te joins le fichier avec de nouvelles fonctions
, je n'ai pas encore fait les modifs que tu m'as proposé pour le gestionnaire de noms et les Frames, mais ce sera fait dès demain.
Merci encore,
Nanouna