Inserer donnée tableau via Combobox sous condition
Bonjour à tous,
Dans un premier temps, merci pour toutes les informations que j'ai pu trouver grâce à ce forum pour la réalisation d'un petit projet qui me donne du fil à retordre.
Voici la description de mon projet et le problème rencontré :
Mon fichier consiste à préremplir un document qui nécessite plusieurs informations sur mon personnel : Statut / Nom / N° Badge de plus mon personnel est découpé en 4 grandes catégories principales : Chauffeur / Assistant / Piste / Extérieur.
La partie remplissage fonctionne très bien MAIS lorsque je dois ajouter une personne via une Usrform particulière ça bug.
Les liste des personnes sont placé dans : Sheet("Personnel") puis un tableau à 3 colonne pour chaque catégorie
Statut / Nom / N° Badge de A2 à C65 => Qui représente ma liste des Chauffeurs
Statut / Nom / N° Badge de E2 à G65 => Qui représente ma liste des Assistants
Statut / Nom / N° Badge de I2 à K65 => Qui représente ma liste de Piste
Statut / Nom / N° Badge de M2 à O65 => Qui représente ma liste des Exterieurs
Les 65 cases sont pris au hasard, j'aimerais dans l'idéal que ça s'increment seul...
Voici mon problème : Dans le cas où la personne n'existe pas, j'ai crée une Usrfom pour ajouter ce dernier :
Combobox1 avec les Catégories
Combobox2 avec les Statuts
TextBox1 pour le nom
Textbox2 pour le n° de Badge
Bouton pour ajouter le personne dans la catégorie souhaité
Seulement lorsque j'ajoute ma personne quelque soit la catégorie sélectionne il me l'ajoute à la fin de la colonne des Chauffeurs....
Pouvez vous m’éclaircir ?
Merci d'avance,
Cordialement
Bonjour Beuzzette & bienvenue
il faut trouver la colonne avec l'info Combobox1 (Catégories)
et transférer les 3 info à partir de cette colonne
en supposant que les Catégorie sont inscrit sur la ligne 1
colonne = Application.Match(Combobox1, Sheet("Personnel").Rows(1), 0)
lig = Sheet("Personnel").Cells(Rows.Count, colonne).End(xlUp).Row + 1
For i = 0 To 2
Cells(lig, colonne + i) = Controls("TextBox" & i).Value
Next iMerci pour la réponse, j'ai essayé votre code mais ça ne fonctionne pas... J'ai essayé de faire quelque chose mais ça ne fonctionne que pour les chauffeurs... :
Select Case categorie
Case "Chauffeur"
Sheets("Personnel").Select
Range("A64").Select
Selection.End(xlUp).Select
ligne = ActiveCell.Row + 1
Cells(ligne, 1).Value = TextBox2.Value 'Nom
Cells(ligne, 2).Value = ComboBox2.Value 'statut
Cells(ligne, 3).Value = TextBox3.Value 'N° Badge
Range("A2").Select
Case "assistant"
Sheets("Personnel").Select
Range("G64").Select
Selection.End(xlUp).Select
Derligne = ActiveCell.Row + 1
Cells(Derligne, 1).Value = TextBox2.Value 'Nom
Cells(Derligne, 2).Value = ComboBox2.Value 'statut
Cells(Derligne, 3).Value = TextBox3.Value 'N° Badge
Range("E2").Select
Case "PISTE"
Worksheets("Personnel").Select
Range("I65534").End(xlUp).Select
Cells(ligne_, 1) = TextBox2.Value 'Nom
Cells(ligne, 2) = ComboBox2.Value 'statut
Cells(ligne, 3) = TextBox3.Value 'N° Badge
Case "EXT"
Worksheets("Personnel").Select
Range("M1").Select
Selection.End(xlDown).Select
Cells(ligne, 1) = TextBox2.Value 'Nom
Cells(ligne, 2) = ComboBox2.Value 'statut
Cells(ligne, 3) = TextBox3.Value 'N° Badge
Case Else
MsgBox "Attention"
End Selectre,
peux-tu joindre ton fichier excel ?