EXCEL VBA : Entrer plage de cellules Inputbox
Résolu
ettihal
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je viens souvent sur le site mais c'est mon premier message ^^
Voilà : je souhaite créer une Inputbox (ou quelque chose dans le genre) dans laquelle je veux renseigner une cellule ou plusieurs cellules pour pouvoir faire des choses avec ensuite.
Par exemple :
Question de l'Inputbox : "Indiquez les cellules que vous souhaitez sélectionnez"
Réponse attendue : "A1" ou "A2:F8" etc.
En fait je ne sais pas quel type de variables je dois utiliser.
Merci d'avance et bonne journée
Ettihal
Je viens souvent sur le site mais c'est mon premier message ^^
Voilà : je souhaite créer une Inputbox (ou quelque chose dans le genre) dans laquelle je veux renseigner une cellule ou plusieurs cellules pour pouvoir faire des choses avec ensuite.
Par exemple :
Question de l'Inputbox : "Indiquez les cellules que vous souhaitez sélectionnez"
Réponse attendue : "A1" ou "A2:F8" etc.
En fait je ne sais pas quel type de variables je dois utiliser.
Merci d'avance et bonne journée
Ettihal
3 réponses
Bonjour,
Le mieux est d'utiliser l'inputbox (type 8) de l'application et non la méthode inputbox.
Ca permet à l'utilisateur d'aller choisir ses plages à la souris :
Autre avantages :
- pas contrôle de saisie à faire, les références seront obligatoirement valides
- sélection multiple autorisée
eric
Le mieux est d'utiliser l'inputbox (type 8) de l'application et non la méthode inputbox.
Ca permet à l'utilisateur d'aller choisir ses plages à la souris :
Dim ref As Range Set ref = Application.InputBox(prompt:="Sélectionner les cellules sur la feuille", Type:=8) MsgBox (ref.Address)
Autre avantages :
- pas contrôle de saisie à faire, les références seront obligatoirement valides
- sélection multiple autorisée
eric
je veux mettre la sélection 1 dans la colonne A, la deuxième dans la colonne B etc..
exemple :
Mais s'il n'y a pas 50 plages à sélectionner tu peux aussi faire une sélection multiple (appuyer sur ctrl pour faire les sélections supplémentaires) et tu obtiendras une liste de plages comme ça A$3:$A$7;$B$6:$B$10;$C$2:$C$8;$D$9:$D$12 dans la refbox à traiter individuellement ensuite avec Areas
eric
exemple :
Dim nb As Long, i As Long, s As String nb = 3 For i = 1 To nb Dim ref As Range Set ref = Application.InputBox(prompt:="Sélectionner les cellules contenant la " & i & "ème série de mesures", Type:=8) ' nettoyage colonne Worksheets("Feuil2").Columns(i).ClearContents ' coller valeurs Worksheets("Feuil2").Cells(1, i).Resize(ref.Rows.Count, 1) = ref.Value Next i
Mais s'il n'y a pas 50 plages à sélectionner tu peux aussi faire une sélection multiple (appuyer sur ctrl pour faire les sélections supplémentaires) et tu obtiendras une liste de plages comme ça A$3:$A$7;$B$6:$B$10;$C$2:$C$8;$D$9:$D$12 dans la refbox à traiter individuellement ensuite avec Areas
eric
Re
Merci pour ta réponse eriiic.
Excusez-moi d'abuser ainsi mais j'ai un autre problème dont je ne trouve pas la solution malgré mes recherches :'(
En fait, suite au message précédent, j'ai à peu près :
et là je veux copier coller cette sélection (supposée de la forme 1colonne et nlignes) dans une autre feuille de calcul et SURTOUT dans une colonne qui dépend de x.
Par exemple je veux mettre la sélection 1 dans la colonne A, la deuxième dans la colonne B etc..
La suite :
En gros je sais pas quoi mettre à la place de "??????" (dépendant de x)
Aussi est-ce que le "Range("ref").Select" est correct ? o.ô
Merci de m'aider ^^'
Ettihal
Merci pour ta réponse eriiic.
Excusez-moi d'abuser ainsi mais j'ai un autre problème dont je ne trouve pas la solution malgré mes recherches :'(
En fait, suite au message précédent, j'ai à peu près :
For x = 1 To Nb Dim ref As Range Set ref = Application.InputBox(prompt:="Sélectionner les cellules contenant la " & x & "ème série de mesures", Type:=8)
et là je veux copier coller cette sélection (supposée de la forme 1colonne et nlignes) dans une autre feuille de calcul et SURTOUT dans une colonne qui dépend de x.
Par exemple je veux mettre la sélection 1 dans la colonne A, la deuxième dans la colonne B etc..
La suite :
Range("ref").Select Selection.Copy Sheets("Séries de mesures").Select ??????.Select ActiveSheet.Paste Next x
En gros je sais pas quoi mettre à la place de "??????" (dépendant de x)
Aussi est-ce que le "Range("ref").Select" est correct ? o.ô
Merci de m'aider ^^'
Ettihal