Problème macro activation cellule

nanotechno Messages postés 2 Date d'inscription dimanche 10 décembre 2000 Statut Membre Dernière intervention 7 mai 2008 - 7 mai 2008 à 17:55
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 7 mai 2008 à 23:39
Bonjour,

J'ai un problème sur  ma macro.

Ma macro ci dessous est correcte. Cependant, elle ne marche que si je me positionne en A8 et puis que je réalise la macro.

Je m'explique, si je me mets en A15 par exemple, ma macro et plus précisement : 
      ActiveCell.FormulaR1C1 = "=R[-1]C+1"      va être effectué en A15.

Je veux qu'avant d'effectuer ma macro même si mon curseur est en A15 ou A20 ou B24 ou..., il active la cellule A8 (lorsque j'effectue ma macro)

Comment faire?

Merci d'avance pour vos réponses.

Sub macro1()
    ActiveCell.FormulaR1C1 = "=R[-1]C+1"
    Range("A8:F8").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    Range("A8").Select
    Selection.NumberFormat = "0"
End Sub

3 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
7 mai 2008 à 19:48
salut,

beh pour activer une cellule précise, c'est comme la deuxième instruction de ta procédure :
range("A8").Select

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA/STRON
0
nanotechno Messages postés 2 Date d'inscription dimanche 10 décembre 2000 Statut Membre Dernière intervention 7 mai 2008
7 mai 2008 à 21:24
Merci Mortalino.

J'ai une autre question pour toi.

Est-ce que tu sais comment faire pour que je fasse une boucle.

Je m'explique, c'est bon ma macro se positionne en A8 ajoute +1 par rapport à la cellule A7 et fait un quadrillage de A8 : F8.

Mais comment faire pour à chaque prochaine macro elle se positionne A9 ajoute +1 par rapport à la cellule A8 et fait un quadrillage de A9 :F9

et ainsi de suite pour la cellule A10, A11......................
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
7 mai 2008 à 23:39
Si ta question est de se positionner sur la première ligne vide, tu peux utiliser ceci

LigneVide = Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & LigneVide).Select

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous