affecter une formule à une colonne entière

M

Manon

Guest
Bonjour le forum

Si quelq'un pouvait m'aider s.v.p.

Comment affecter une formule à une colonne entière ?

A(cptes) B C D E F

5500 =SI(cptes=7000;0)*SI(cptes=5500;0)

7000 =SI(cptes=7000;0)*SI(cptes=5500;0)

La formule concerne les colonnes E et F

J'aimerais pouvoir affecter la formule : =SI(cptes=7000;0)*SI(cptes=5500;0)
aux colonnes E et F sans avoir à les recopier sur chaque ligne (tant qu'il y aura des entrées dans la conne A

Merci
Manon
 
L

laM

Guest
Bonjour

Il y a bien un truc pas très propre mais bon...
- Un clic en haut de la colonne pour la sélectionner entièrement.
- [F2] pour entrer dans la première cellule
- Saisie de la formule
- validation avec [Ctrl]+[Entrée]
...Et la formule se recopie jusqu'en bas.
...Et moi je fais hurler les puristes

Au revoir @+[
 

andré

XLDnaute Barbatruc
Salut Manon et laM,

Mais non, mais non, c'est la bonne méthode !

Il serait toutefois bon de nommer cette formule (menu Insertion / Nom / Définir), car elle sera recopiée plus de 136.000 fois, ce qui va prendre pas mal de place.

Une autre méthode, pour ne pas ralentir la vitesse de calcul, à cause du nombre de formules qui ne servent à rien, consiste à la recopier au fur et à mesure que les colonnes voisines sont imputées.
Pour les recopier il suffit de double-cliquer sur la petite croix dans le coin inférieur droit de la cellule, qui devient visible en y pointant la souris.

Petit bémol, cette copie s'arrête à la première cellule vide de la colonne voisine.
Il faudrait donc taper un espace dans toutes ces cellules vides.

Â+
 
L

laM

Guest
Bonjour Manon et André.

Il y a bien sûr la possibilité de faire une macro (attaché à l’événement qui vous plaira).

Exemple :
Range(Cells(1, 5), Cells(10, 6)).Formula = Cells(1, 5).Formula
Equivalent de
Range('E1:F10').Formula = Range('E1').Formula

Cela recopie la formule de la cellule E1 dans les cellules E1 :F10.
(E1 Supposé contenir =SI(cptes=7000;0)*SI(cptes=5500;0))

Avec Cells, il sera peut-être plus facile de faire varier la taille de la recopie.
Exemple si C1=NBVAL(A :A)
Range(Cells(1, 5), Cells(Cells(1,3), 6)).Formula = Cells(1, 5).Formula
recopiera un nombre de ligne égale à C1, c’est à dire le nombre des cellules qui ne sont pas vides dans la première colonne. (utile dans ce cas si les cellules sont adjacentes)

Remarque : L’exécution s’effectue dans la feuille active, mais on peut écrire
Worksheets('Feuil1'). Range('E1:F10').Formula = Range('E1').Formula
pour fixer l’exécution uniquement à la Feuil1.

Au revoir, à bientôt
 

Discussions similaires

Réponses
13
Affichages
395
Réponses
11
Affichages
520

Statistiques des forums

Discussions
312 492
Messages
2 088 926
Membres
103 984
dernier inscrit
maliko67