Je coince...
Résolu
jen_peplu
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
-
jen_peplu Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
jen_peplu Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
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
- Tiroir cd de chaine hifi ne s'ouvre plus - Forum Enceintes / HiFi
- Cable ethernet coincé ✓ - Forum Matériel & Système
- Coque airpods coincé ✓ - Forum Accessoires & objets connectés
- 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+