A voir également:
- Sélection d'une colonne par variable locale
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Déplacer une colonne excel - Guide
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? - Forum Bureautique
- Vba selection plage variable ✓ - Forum VB / VBA
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
6 réponses
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 mars 2023
3 293
18 sept. 2009 à 16:28
18 sept. 2009 à 16:28
bonjour
columns(Ccli).select
columns(Ccli).select
C'est ce que j'ai fait, mais ça ne fonctionne pas.
Peut-être que j'ai mal déclaré la variable Ccli : je me suis contenté d'écrire "Ccli = ", suivi de la formule qui le définit.
Peut-être que j'ai mal déclaré la variable Ccli : je me suis contenté d'écrire "Ccli = ", suivi de la formule qui le définit.
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 mars 2023
3 293
18 sept. 2009 à 17:23
18 sept. 2009 à 17:23
j'vois le pb!
par exemple, tu sélectionne une cellule, mettons ligne 4 et la ùacro sélectionne la colonne 4
par exemple, tu sélectionne une cellule, mettons ligne 4 et la ùacro sélectionne la colonne 4
sub tamacro() Dim ccli As Byte 'xl<2007 ccli = ActiveCell.Row 'histoire de faire qqchose Columns(ccli).Select end sub
Merci pour ces éléments. Je m'aperçois qu'effectivement, ces lignes de code fonctionnent correctement.
Du coup, je comprends aussi que mon problème vient d'ailleurs : ma variable Ccli prend la valeur renvoyée par une fonction "Inputbox".
J'ai donc Ccli qui est de type String, alors que dans la formule Columns(Ccli).Select, il faudrait que ce soit une variable de type Integer.
Est-il possible que la fonction Inputbox renvoie la valeur saisie par l'utilisateur sous forme d'entier ?
Sinon, existe-t-il une autre fonction qui le ferait ?
Merci d'avance
Du coup, je comprends aussi que mon problème vient d'ailleurs : ma variable Ccli prend la valeur renvoyée par une fonction "Inputbox".
J'ai donc Ccli qui est de type String, alors que dans la formule Columns(Ccli).Select, il faudrait que ce soit une variable de type Integer.
Est-il possible que la fonction Inputbox renvoie la valeur saisie par l'utilisateur sous forme d'entier ?
Sinon, existe-t-il une autre fonction qui le ferait ?
Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 mars 2023
3 293
20 sept. 2009 à 17:53
20 sept. 2009 à 17:53
Bonjour
tu pourrais bidouiller ceci:
ccli = ccli & ":" & ccli
Columns(ccli).Select
tu pourrais bidouiller ceci:
ccli = ccli & ":" & ccli
Columns(ccli).Select
Merci beaucoup.
J'ai commencé par m'inspirer de cette idée. Ca fonctionne très bien pour la fonction Columns.
Mais j'avais le même problème avec Cells.Value, et là je ne peux pas mettre des chaînes de caractère : il faut des entiers.
J'ai remplacé les Cells par des Range, pour utiliser des variables String, mais le résultat n'était pas celui attendu.
Finalement, j'ai trouvé une solution intéressante dans l'aide VB : le signe %, situé après le nom de la variable, signifie que c'est un entier.
Du coup, voici ce que j'ai fait :
* Je ne déclare pas la variable Ccli (en la déclarant en tant que "Integer" ou en tant que "String" j'ai un message d'erreur)
* Ccli% = Inputbox(...)
Je peux alors utiliser Ccli comme un entier, et écrire Columns(Ccli).Select
Merci beaucoup
J'ai commencé par m'inspirer de cette idée. Ca fonctionne très bien pour la fonction Columns.
Mais j'avais le même problème avec Cells.Value, et là je ne peux pas mettre des chaînes de caractère : il faut des entiers.
J'ai remplacé les Cells par des Range, pour utiliser des variables String, mais le résultat n'était pas celui attendu.
Finalement, j'ai trouvé une solution intéressante dans l'aide VB : le signe %, situé après le nom de la variable, signifie que c'est un entier.
Du coup, voici ce que j'ai fait :
* Je ne déclare pas la variable Ccli (en la déclarant en tant que "Integer" ou en tant que "String" j'ai un message d'erreur)
* Ccli% = Inputbox(...)
Je peux alors utiliser Ccli comme un entier, et écrire Columns(Ccli).Select
Merci beaucoup