Sélection par macro commandes excel
ufos
Messages postés
14
Statut
Membre
-
ufos Messages postés 14 Statut Membre -
ufos Messages postés 14 Statut Membre -
Bonjour et merci de votre aide
Mon problème :
J'ai un tableau avec un nombre de colonnes évolutif (une de plus à chaque mois)
un nombre de lignes fixe
Je veux sélectionner les 40 premières lignes de la dernière colonne utilisée, pour cela j'exécute la macro commande suivante :
Range("A2").Select
While ActiveCell() <> ""______________ 'recherche de la première colonne vide
ActiveCell.Offset(0, 1).Range("A1").Select
Wend
Selection.Offset(0, -1).Range("A1").Select ____________________ 'retour sur la dernière colonne remplie
ActiveWorkbook.Names.Add Name:="DébutSélection", RefersToR1C1:= _
"='Relevés àjour'!ActiveCell()" __________________ 'défini un nom pour la première cell de la selection
ActiveCell.Offset(40, 0).Range("A1").Select
ActiveWorkbook.Names.Add Name:="FinSélection", RefersToR1C1:= _
"='Relevés àjour'!ActiveCell()" ____________________ 'défini un nom pour la dernière cell de la selection
Range(DébutSélection:FinSélection).Select __________ 'cette commande ne fonctionne pas???????
Ces lignes de commande me permettent d'atteindre la dernière colonne remplie et de nommer la première et la dernière cellule de la sélection à réaliser
la ligne de commande "Range(DébutSélection:FinSélection).Select" est sensée réaliser la sélection de ces 40 lignes mais elle ne fonctionne pas.
Je suis persuadé qu'il y a de multiples solutions plus élégantes que la miènne même sans nommer les cellules.
Pourriez vous me donner une solution
merci
ufos
Mon problème :
J'ai un tableau avec un nombre de colonnes évolutif (une de plus à chaque mois)
un nombre de lignes fixe
Je veux sélectionner les 40 premières lignes de la dernière colonne utilisée, pour cela j'exécute la macro commande suivante :
Range("A2").Select
While ActiveCell() <> ""______________ 'recherche de la première colonne vide
ActiveCell.Offset(0, 1).Range("A1").Select
Wend
Selection.Offset(0, -1).Range("A1").Select ____________________ 'retour sur la dernière colonne remplie
ActiveWorkbook.Names.Add Name:="DébutSélection", RefersToR1C1:= _
"='Relevés àjour'!ActiveCell()" __________________ 'défini un nom pour la première cell de la selection
ActiveCell.Offset(40, 0).Range("A1").Select
ActiveWorkbook.Names.Add Name:="FinSélection", RefersToR1C1:= _
"='Relevés àjour'!ActiveCell()" ____________________ 'défini un nom pour la dernière cell de la selection
Range(DébutSélection:FinSélection).Select __________ 'cette commande ne fonctionne pas???????
Ces lignes de commande me permettent d'atteindre la dernière colonne remplie et de nommer la première et la dernière cellule de la sélection à réaliser
la ligne de commande "Range(DébutSélection:FinSélection).Select" est sensée réaliser la sélection de ces 40 lignes mais elle ne fonctionne pas.
Je suis persuadé qu'il y a de multiples solutions plus élégantes que la miènne même sans nommer les cellules.
Pourriez vous me donner une solution
merci
ufos
A voir également:
- Sélection par macro commandes excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Excel trier par ordre croissant chiffre - Guide
- Invite de commandes - Guide
- Word et excel gratuit - Guide
3 réponses
Bonjour,
Il faut mémoriser la dernière colonne dans une variable pour s'en servir par la suite. Voici la macro qui marche
Dim col As Integer
Range("A2").Select
While ActiveCell() <> "" 'recherche de la première colonne vide
ActiveCell.Offset(0, 1).Select
Wend
col = ActiveCell.Column -1
Range(Cells(2, col), Cells(42, col)).Select
A+.
Il faut mémoriser la dernière colonne dans une variable pour s'en servir par la suite. Voici la macro qui marche
Dim col As Integer
Range("A2").Select
While ActiveCell() <> "" 'recherche de la première colonne vide
ActiveCell.Offset(0, 1).Select
Wend
col = ActiveCell.Column -1
Range(Cells(2, col), Cells(42, col)).Select
A+.
Mon précédent post date de 2008. Comme à l'époque je n'ai pas eu de réponse, j'ai laissé tombé et je faisai le travail manuellement jusqu'à aujourd'hui. Et si je n'ai pas eu de réponse c'est que cette petite macro fonctionne parfaitement.
J'ai donc repris l'automatisation de la tache et maintenant elles se fait sans intervention de ma part.
Pourquoi je n'arrivais pas à la faire fonctionner ????????????????????? C'était il y a 2 ans.
Merci
ufos
J'ai donc repris l'automatisation de la tache et maintenant elles se fait sans intervention de ma part.
Pourquoi je n'arrivais pas à la faire fonctionner ????????????????????? C'était il y a 2 ans.
Merci
ufos
Merci beaucoup
ufos
pour aller un peu de l'avant j'ai essayé de faire une sélection sur les lignes pour voir si cela est pareil.
J'ai fait le petit programme suivant :
Sub essai()
Dim ligne As Integer
Sheets("Relevés àjour").Select
Range("A41").Select
ligne = ActiveCell.Row
Range(Cells(ligne, 1), Cells(ligne, 26)).Select
End Sub
Ca marche bizarrement. il se trouve que les lignes de mon tableau ont un fond coloré suivant la rubrique.
dans ce petit programme je ne devrais sélectionner qu'une seule ligne, hors la couleur de fond de la rubrique concernée est le jaune clair. Résultat toutes les lignes adjacentes de la couleurs jaunes clair ont été sélectionnées. J'ai refait l'essai avec une zone où la couleur de fond est automatique. Résultat seule la ligne concernée a été sélectionnée.
Comment pouvoir éviter de sélectionner plusieurs ligne d'une même couleur de fond si je veux qu'une seule ligne soit sélectionnée ???
merci
ufos