VBA excel: Formule dans toute la sélection

Fermé
Liro - 29 mai 2007 à 07:15
khatri10 Messages postés 1 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 29 mai 2007 - 29 mai 2007 à 20:01
Bonjour,

J'ai une sélection "FED", je souhaite insérer une formule dans la colonne H de toutes les lignes de cette sélection.

Comment faire?
Merci pour votre aide.
A voir également:

3 réponses

xjl Messages postés 232 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 12 juin 2007 183
29 mai 2007 à 08:29
Salut,

Sub formula()

For Each Cell In Sheets(1).Range("FED").Cells
If Cell.Column = 8 Then
Cell.Value = "=ta_formule"
End If
Next Cell

End Sub
0
Bonjour,

On peut faire + simple :

Columns("H:H").FormulaR1C1 = "formule"

Cordialement

Papou
0
xjl Messages postés 232 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 12 juin 2007 183
29 mai 2007 à 17:20
Sauf que si je ne m'abuse, ça va mettre la formule dans toute la colonne et non pas dans les cellules de la colonne appartenant à la zone "FED", ce qui était quand même le but au départ...

De plus le choix de .FormulaR1C1 au lieu du .Value provoque parfois le rajout du caractère ' qui met un peu le bordel dans la formule...
0
Bonjour Xjl, Liro,

La remarque de Xjl est judicieuse,
Il suffit alors de faire référence à la plage nommée :

Range("FED").Columns("H:H").Formula = "formule"


Attention, la colonne 'H' est relative à la colonne de départ définie dans FED.

Cordialement

Papou
0
xjl Messages postés 232 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 12 juin 2007 183 > Papou
29 mai 2007 à 18:00
En effet, par contre si l'on utilise Cell.Column = 8 comme je le suggérait au départ, on est en absolu et la colonne 8 est la colonne H quelle que soit la zone "FED"...
0
Papou > Papou
29 mai 2007 à 18:22
Exact, alors pour conclure, les 2 solutions fonctionnent :

En relatif -->
Range("FED").Columns("H:H").Formula = "formule"


En absolu -->
Range("FED").Columns8).Formula = "formule"


Cordialement

Papou
0
Papou > Papou
29 mai 2007 à 18:27
Pardon,

J'ai zappé une parenthèse :

Range("FED").Columns(8).Formula = "formule"


Voilà qui est réparé.

Papou
0
khatri10 Messages postés 1 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 29 mai 2007
29 mai 2007 à 20:01
je suis débutant un Vb et j'ai déja ouvrir une tableau qui enregistre des données un utilisant un objet MSCom et je vais trové la même page en Excel.
0