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

Utiliser deux plages nommées

18 réponses
Avatar
Apitos
Bonsoir =E0 tous,

Dans un classeur, j'ai d=E9fini deux plages nomm=E9e.

bEntr=E9esS, dans l'onglet "B"

mEntr=E9eS, dans l'onglet "M"

Pour utiliser, l'une ou l'autre plage, j'ai cod=E9 :

'-------------
With ActiveSheet
x =3D .Name
.Range("E4").Formula =3D "=3DSUMPRODUCT((sR=E9f=E9rence=3D$A4)*(sEtat=
=3D""x"")*(sMouvement=3D""Sortie"")*(sQuantit=E9))"
.Range("F4").AutoFill Destination:=3D[x & "Entr=E9eS"], Type:=3DxlFillD=
efault
End With
'--------------

Mais voila, =E7a me d=E9clenche une erreur :

Erreur d'ex=E9cution '1004':

La m=E9thode AutoFill de la classe a =E9chou=E9.

Sur la ligne suivante :

.Range("F4").AutoFill Destination:=3D[x & "Entr=E9eS"], Type:=3DxlFillDefau=
lt

Comment r=E9soudre cette difficult=E9 ?

Merci.

8 réponses

1 2
Avatar
Jacky
Ton classeur modifié
http://cjoint.com/?BJtxhd0seqY
--
Salutations
JJ
Avatar
Jacky
Celui-ci sera plus ressemblant
;o))
http://cjoint.com/?BJtxs7UHTSS
--
Salutations
JJ


"Jacky" a écrit dans le message de news: k5sdmj$g8t$
Ok
Oublie le message précédant
J'ai étudié ton code d'un peu plus près
Remplace ceci
.Range("D4").Formula = "=SUMPRODUCT((sRéférence=$A4)*(sEtat=""" & Nom &
""")*(sMouvement=""Entrée"")*(sQuantité))"
Par
.Range(x & "EntréeS").Formula = "=SUMPRODUCT((sRéférence=$A4)*(sEtat=""" & Nom &
""")*(sMouvement=""Entrée"")*(sQuantité))"

Idem pour les autres...en dessous

--
Salutations
JJ


"Apitos" a écrit dans le message de news:

Re,

Les plages nommées vont bien de la ligne 4 jusqu'à la ligne 6.

Mais pourquoi les formules ne sont pas copiées jusqu'à la dernière ligne, ça c'est la question ?

En PJ un exemple complet :

http://cjoint.com/?BJtu5e5wCXN

Avatar
Apitos
Génial.

C'est un code plus que reduit !

Ca marche. Merci bien Jacky.
Avatar
Apitos
Ah non !

Je m'excuse, mais ça ne marche pas pour le cas de la formule matricielle en colonne H.

La référence $A4 se répète pour toutes les cellules en colonne H.
Avatar
Jacky
En effet pas pour les matricielles
remplace le code pour la colonne H
par
'-- Calcul de la date du dernier mouvement
.Range(x & "DateS")(1).FormulaArray = "=MAX((sRéférence=$A4)*(sEtat=""" & Nom & """)*sDate)"
.Range(x & "DateS")(1).AutoFill Range(x & "DateS")
.Range(x & "DateS").NumberFormat = "dd/mm/yyyy hh:mm"

--
Salutations
JJ


"Apitos" a écrit dans le message de news:

Ah non !

Je m'excuse, mais ça ne marche pas pour le cas de la formule matricielle en colonne H.

La référence $A4 se répète pour toutes les cellules en colonne H.
Avatar
Jacky
En effaçant auparavant manuellement les formules matricielles dans la colonne H

--
Salutations
JJ


"Jacky" a écrit dans le message de news: k5spah$8ku$
En effet pas pour les matricielles
remplace le code pour la colonne H
par
'-- Calcul de la date du dernier mouvement
.Range(x & "DateS")(1).FormulaArray = "=MAX((sRéférence=$A4)*(sEtat=""" & Nom & """)*sDate)"
.Range(x & "DateS")(1).AutoFill Range(x & "DateS")
.Range(x & "DateS").NumberFormat = "dd/mm/yyyy hh:mm"

--
Salutations
JJ


"Apitos" a écrit dans le message de news:

Ah non !

Je m'excuse, mais ça ne marche pas pour le cas de la formule matricielle en colonne H.

La référence $A4 se répète pour toutes les cellules en colonne H.

Avatar
Apitos
Ca marche maintenant.

Merci Jackt :)
Avatar
Apitos
Merci Jacky ;)
1 2