Problème de sélection
OngNoi
Messages postés
11
Statut
Membre
-
OngNoi Messages postés 11 Statut Membre -
OngNoi Messages postés 11 Statut Membre -
Je débute en macro Excel et je ne sais pas comment écrire le code pour faire les
choses suivantes:
1) A partir de la cellule active, descendre le curseur de 2 cellules en dessous.
2) A partir de la cellule active, amener le curseur à la colonne A de la même
ligne (je ne connais pas les références de la cellule active) ?
3) A partir d'une position donnée dans une colonne de données, comment écrire le
code pour sélectionner la première cellule vide ?
Merci
choses suivantes:
1) A partir de la cellule active, descendre le curseur de 2 cellules en dessous.
2) A partir de la cellule active, amener le curseur à la colonne A de la même
ligne (je ne connais pas les références de la cellule active) ?
3) A partir d'une position donnée dans une colonne de données, comment écrire le
code pour sélectionner la première cellule vide ?
Merci
A voir également:
- Range(selection, activecell.specialcells(xllastcell)).select
- Out of range - Forum Ecran
- Outil sélection illustrator ne fonctionne pas ✓ - Forum Illustrator
- Input signal out of range - Forum Ecran
- Illustrator cadre de sélection disparu ✓ - Forum Illustrator
- Problème écran "out of range" au démarrage - Forum Windows
2 réponses
Voici une petite macro que j'ai écrite pour le boulot qui contient les exemples que tu souhaites :
Sub Macro1()
' le 22/06/2007 par Cub
' OriCol et OriLig : Ligne et colonne de la case de la matrice en heut à gauche
' Fonctionne si case vide à droite de la matrice et case vide en bas
OriCol = 3
OriLig = 2
pos_ligne = OriLig
pos_col = OriCol
celluleCourante = Cells(OriLig, OriCol)
Do While celluleCourante <> ""
pos_ligne = pos_ligne + 1
nbligne = nbligne + 1
celluleCourante = Cells(pos_ligne, OriCol)
Loop
celluleCourante = Cells(OriLig, OriCol)
Do While celluleCourante <> ""
pos_col = pos_col + 1
nbcol = nbcol + 1
celluleCourante = Cells(OriLig, pos_col)
Loop
MsgBox ("matrice de " & nbligne & " lignes et " & nbcol & "colonnes")
'
End Sub
Sub Macro1()
' le 22/06/2007 par Cub
' OriCol et OriLig : Ligne et colonne de la case de la matrice en heut à gauche
' Fonctionne si case vide à droite de la matrice et case vide en bas
OriCol = 3
OriLig = 2
pos_ligne = OriLig
pos_col = OriCol
celluleCourante = Cells(OriLig, OriCol)
Do While celluleCourante <> ""
pos_ligne = pos_ligne + 1
nbligne = nbligne + 1
celluleCourante = Cells(pos_ligne, OriCol)
Loop
celluleCourante = Cells(OriLig, OriCol)
Do While celluleCourante <> ""
pos_col = pos_col + 1
nbcol = nbcol + 1
celluleCourante = Cells(OriLig, pos_col)
Loop
MsgBox ("matrice de " & nbligne & " lignes et " & nbcol & "colonnes")
'
End Sub
Bonjour,
1) A partir de la cellule active, descendre le curseur de 2 cellules en dessous.
ActiveCell.Offset(2, 0).Select
2) A partir de la cellule active, amener le curseur à la colonne A de la même
ligne (je ne connais pas les références de la cellule active) ?
Range("A" & ActiveCell.Offset(0, 0).Row).Select
3) A partir d'une position donnée dans une colonne de données, comment écrire le
code pour sélectionner la première cellule vide ?
Dim Position As Long
Position = ActiveCell.Offset(0, 0).End(xlDown).Row
ActiveCell.Offset(Position, 0).Select
--------------
Lupin
1) A partir de la cellule active, descendre le curseur de 2 cellules en dessous.
ActiveCell.Offset(2, 0).Select
2) A partir de la cellule active, amener le curseur à la colonne A de la même
ligne (je ne connais pas les références de la cellule active) ?
Range("A" & ActiveCell.Offset(0, 0).Row).Select
3) A partir d'une position donnée dans une colonne de données, comment écrire le
code pour sélectionner la première cellule vide ?
Dim Position As Long
Position = ActiveCell.Offset(0, 0).End(xlDown).Row
ActiveCell.Offset(Position, 0).Select
--------------
Lupin
Re-bonjour Lupin,
Je t'ai quitté un peu vite car la 3è instruction ne marche pas, elle donne des résultats bizarres.
Mais elle m'a inspiré et j'ai trouvé la bonne syntaxe pour aller à la première cellule vide de la colonne:
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Les 2 autres instructions marchent à merveille
Merci encore
Je t'ai quitté un peu vite car la 3è instruction ne marche pas, elle donne des résultats bizarres.
Mais elle m'a inspiré et j'ai trouvé la bonne syntaxe pour aller à la première cellule vide de la colonne:
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Les 2 autres instructions marchent à merveille
Merci encore
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Dans mon projet je dois copier puis coller 2 plages de données de longueur variable, l'une à la suite de l'autre. Seule la cellule en haut à gauche du premier collage est connue: A42. Avec l'instruction suivante je sais sélectionner la dernière cellule en bas à droite du premier collage.
ActiveCell.SpecialCells(xlLastCell).Select
Pour coller la 2è plage de données, je veux sélectionner la cellule qui se trouve par exemple dans la colonne B à 3 lignes au dessous de celle de xlLastCell. Existe-t-il un code VB tout simple pour faire ce Select ?
Merci