Je coince...
Résolu
jen_peplu
Messages postés
35
Statut
Membre
-
jen_peplu Messages postés 35 Statut Membre -
jen_peplu Messages postés 35 Statut Membre -
Bonjour,
Comment dois-je faire pour insérer à partir d'un combobox sur un userform, le numéro contenu dans ce combobox dans une colonne d'une feuille excel à son emplacement classé par ordre croissant (vous suivez ) ?
Le combobox reçoit sa listindex de la ("feuil1").
Je souhaiterai coller cette valeur dans la ("colonneA") de la ("feuil2") à son emplacement classé si celui-ci a été supprimé.
exemple :
combobox.listindex = 1 2 3 4 5 6 7 8 9 10 ,etc
("feuil2").("colonneA") = 1 2 3 7 8 10,...
Si je sélectionne le 4 dans la combo, est-il possible de remettre ce 4 dans la ("feuil2") entre le 3 et le 7 en sélectionnant le 7, puis en décalant la ligne avec "Selection.EntireRow.Insert" et en mettant la valeur dans la ligne vide ainsi créé ?
Je ne sais pas comment faire pour sélectionner la valeur supérieure à celle recherchée. Je sais le faire en collant dans la dernière cellule vide de la colonne puis en triant, mais je souhaiterai avancer un peu dans mon apprentissage.
J'espère être assez clair
Cordialement
Comment dois-je faire pour insérer à partir d'un combobox sur un userform, le numéro contenu dans ce combobox dans une colonne d'une feuille excel à son emplacement classé par ordre croissant (vous suivez ) ?
Le combobox reçoit sa listindex de la ("feuil1").
Je souhaiterai coller cette valeur dans la ("colonneA") de la ("feuil2") à son emplacement classé si celui-ci a été supprimé.
exemple :
combobox.listindex = 1 2 3 4 5 6 7 8 9 10 ,etc
("feuil2").("colonneA") = 1 2 3 7 8 10,...
Si je sélectionne le 4 dans la combo, est-il possible de remettre ce 4 dans la ("feuil2") entre le 3 et le 7 en sélectionnant le 7, puis en décalant la ligne avec "Selection.EntireRow.Insert" et en mettant la valeur dans la ligne vide ainsi créé ?
Je ne sais pas comment faire pour sélectionner la valeur supérieure à celle recherchée. Je sais le faire en collant dans la dernière cellule vide de la colonne puis en triant, mais je souhaiterai avancer un peu dans mon apprentissage.
J'espère être assez clair
Cordialement
A voir également:
- Je coince...
- Cd coincé dans chaine hifi - Forum Enceintes / HiFi
- Cable ethernet coincé ✓ - Forum Matériel & Système
- Coque airpods coincé ✓ - Forum Accessoires & objets connectés
- Tiroir cd de chaine hifi ne s'ouvre plus - Forum Enceintes / HiFi
- Couvercle extracteur de jus coincé - Forum Consommation & Internet
2 réponses
Bonjour,
Deux syntaxes possibles :
une boucle for :
Une boucle While plus simple :
Plusieurs remarques :
Attention car ComboBox.Value renvoie un string et pour comparer avec un entier il faut convertir (d'ou le CInt).
Penser aussi au traitement si le chiffre existe déjà
Penser aussi au cas ou c'est le plus grand. Le while l'ajoute à la fin, le for ne fait rien...
Voila à adapter
A+
Deux syntaxes possibles :
une boucle for :
maxlig = Sheets("Feuil2").Range("A65535").End(xlUp).Row
For lig = 1 To maxlig
If CInt(ComboBox1.Value) < Cells(lig, 1) Then
Sheets("Feuil2").Rows(lig).Insert Shift:=xlDown
Sheets("Feuil2").Cells(lig, 1) = ComboBox1.Value
Exit For
End If
Next lig
Une boucle While plus simple :
lig = 1
While CInt(ComboBox1.Value) > Cells(lig, 1)
lig = lig + 1
Wend
Sheets("Feuil2").Rows(lig).Insert Shift:=xlDown
Sheets("Feuil2").Cells(lig, 1) = ComboBox1.Value
Plusieurs remarques :
Attention car ComboBox.Value renvoie un string et pour comparer avec un entier il faut convertir (d'ou le CInt).
Penser aussi au traitement si le chiffre existe déjà
Penser aussi au cas ou c'est le plus grand. Le while l'ajoute à la fin, le for ne fait rien...
Voila à adapter
A+