Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment dire?? ligne, cellule...

7 réponses
Avatar
Emma
Bonjour!

Voilà, j'apprends... alors, je me fais assister par visual basic et
j'observe. Mais il ne fait pas toujours ce que je veux... Hé oui, je suis
blonde...

PROBLEME 1:

Voilà ce qu'il écrit

'sélection des cellules
Range("B16:AV16").Select

Voilà ce que je voudrais

'sélection de la ligne correspondant à la cellule dans laquelle je me trouve
?????????????

PROBLEME 2

Voilà ce qu'il écrit

'se placer en H12

Range("H12").Select

Je voudrais

'descends d'une cellule
?????????

Merci pour votre aide et pour que je devienne autonome, où puis-je trouver
un "dictionnaire"?

à bientôt

Emma

7 réponses

Avatar
papou
Bonjour
Tu peux commencer par aller voir ça :
http://www.excelabo.net/excel/pap-vba.php

Ensuite, pour le reste tu enregistres encore et encore !
Pour finir, des sites à foison sur le web pour ce qui concerne VBA.
Tu fais une recherche de Excel VBA sur Google, à mon avis il y aura matière
à lire ;-)

Cordialement
Pascal


"Emma" a écrit dans le message de news:
48e496f3$0$16506$
Bonjour!

Voilà, j'apprends... alors, je me fais assister par visual basic et
j'observe. Mais il ne fait pas toujours ce que je veux... Hé oui, je suis
blonde...

PROBLEME 1:

Voilà ce qu'il écrit

'sélection des cellules
Range("B16:AV16").Select

Voilà ce que je voudrais

'sélection de la ligne correspondant à la cellule dans laquelle je me
trouve
?????????????

PROBLEME 2

Voilà ce qu'il écrit

'se placer en H12

Range("H12").Select

Je voudrais

'descends d'une cellule
?????????

Merci pour votre aide et pour que je devienne autonome, où puis-je trouver
un "dictionnaire"?

à bientôt

Emma



Avatar
Daniel.C
> 'sélection de la ligne correspondant à la cellule dans laquelle je me
trouve



Bonjour.
ActiveCell.entireRow.Select

PROBLEME 2

Voilà ce qu'il écrit

'se placer en H12

Range("H12").Select

Je voudrais

'descends d'une cellule



Range("H12").Offser(1,0).Select
ou
Range("H12").Offset(1).Select

Merci pour votre aide et pour que je devienne autonome, où puis-je trouver
un "dictionnaire"?



Dans la fenêtre VBA, clique sur F1 et regarde ensuite les différentes
rubriques.
Avatar
Emma
Merci Daniel mais je ne dois pas bien m'y prendre.

En fait, je voudrais pouvoir créer un bouton associé à une macro (ça, je
devrais savoir) pour lui demander de passer à la ligne, de "tirer un trait"
de la colonne A à AV sous la cellule et si possible placer le curseur dans
la cellule plus bas.

Alors, voilà ce que ça donne, en prenant en compte ce que tu m'écris.
Evidemment, ce seait trop beau si ça marchait du premier coup...

Sub seancesuivante()
'
' seancesuivante Macro
'

'sélectionner la ligne entière

ActiveCell.EntireRow.Select


'ligner le bas des cellules

Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With
Selection.Borders(xlEdgeTop).LineStyle = xlNone
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlMedium
End With

'descends d'une cellule

Range("H12").Offser(1, 0).Select



End Sub


Petite précision: je ne devrais pas faire référence à H12 puisque je peux me
trouver n'importe où dans la feuille.

Merci encore
Avatar
Emma
Je pense que :

ActiveCell.EntireRow.Select



ça marche, mais comment faire pour s'arréter en colonne AV par exemple

Range("H12").Offser(1, 0).Select



J'ai dû oublier with et end with. Par contre, il faudrait rendre la commande
indépendante de H12.

Voilà, j'espère avoir apporté de la précision.

Emma
Avatar
Emma
Sur tes conseils Daniel, je me suis rendu dans l'aide de VB.

JE m'en suis sorti pour la fin, je n'en reviens pas:

With Worksheets("Feuil1").Activate

ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate

End With


Sauf qu'il revient en colonne A même si je suis en colonne E. Mais bon, ce
n'est pas très grave (ça titille juste ma curiosité)

Par contre, je reste toujours questionnante sur le fait de s'arrêter en
colonne AV pour ma fameuse ligne.

Emma
Avatar
Daniel.C
Tu pourrais écrire :
Worksheets("Feuil1").Activate
Cells(ActiveCell.Row+1, 1).Activate
ou
Worksheets("Feuil1").Activate
Range("A" & ActiveCell.Row+1).Activate

Pour ce qui concerne la plage A:AV, tu peux écrire :
With ActiveCell
Range("A" & .Row & ":AV" & .Row).Activate
End With
Note le point devant "Row", qui signifie que Row se réfère à ce qui est
défini avec "With"; c'est donc équivalent à :
ActiveCell.Row
Quand tu seras plus à l'aise avec VBA, tu verras, qu'on a avantage à éviter
les "Select" ou "Activate". Pour le moment, continue à progresser à ton
rythme

Daniel
"Emma" a écrit dans le message de news:
48e4a67c$0$18665$
Sur tes conseils Daniel, je me suis rendu dans l'aide de VB.

JE m'en suis sorti pour la fin, je n'en reviens pas:

With Worksheets("Feuil1").Activate

ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate

End With


Sauf qu'il revient en colonne A même si je suis en colonne E. Mais bon, ce
n'est pas très grave (ça titille juste ma curiosité)

Par contre, je reste toujours questionnante sur le fait de s'arrêter en
colonne AV pour ma fameuse ligne.

Emma



Avatar
LSteph
Bonjour Emma,


Si la colonne A est toujours remplie pour la ligne écrite:

Sub encadr()

Dim lig As Long
lig = [a65536].End(xlUp).Row + 1

With Range(Cells(lig, 1), Cells(lig, 48)).Borders

.LineStyle = xlContinuous
.ColorIndex = 0

.Weight = xlMedium
.Item(xlDiagonalDown).LineStyle = xlNone
.Item(xlDiagonalUp).LineStyle = xlNone
End With

Cells(lig - 1, 1).AutoFill _
Destination:=Range(Cells(lig - 1, 1), Cells(lig, 1)), _
Type:=xlFillDefault
End Sub

'lSteph