OVH Cloud OVH Cloud

formule pour les pros .... sans vba

16 réponses
Avatar
SylVBA
Bonsoir

J'ai un fichier qui analyse les =E9tablissements qui stockent (ou non)
des produits pour bloc op=E9ratoire

Pour des raisons l=E9gales, nous avons un listing des ""stockeurs"" qui
sont des =E9tablissements qui conservent des stocks d'avance pour
pouvoir d=E9panner les autres services en cas de manque dans le
p=E9rimetre de l'=E9tablissement.
On cherche =E0 optimiser les quantit=E9s afin de r=E9duire les
investissements de certains, qui sont toujours en surstock et
d'optimiser ceux qui sont toujours =E0 cours de produits et qui traient
tout dans l'urgence...

je souhaite faire tout sans vba (si possible) et utiliser des formules
qui me semblent complexes

Un exemple, je souhaite variabiliser cette formule:

=3D'C:\Mes documents\Sylvie\Budget 2009\[2009 Stock Budget - France V2
off protect version Reps.xls]DomF'!$P$5

Ce que je souhaite variable dans ce fichier:

DomF: c'est le nom de l'onglet, cette partie du code pourrait t'elle
varier suivant 'onglet actif
Pour trouver le nom de l'onglet j'utilise la formul suivante, mais
comment l'int=E9grer dans la formule:
=3DDROITE(CELLULE("nomfichier");NBCAR(CELLULE("nomfichier"))-(TROUVE
("]";CELLULE("nomfichier"))))
Comme cela quand je change de feuille, la formule prend comme variable
le nom de l'onglet actif
(je sais qu'il faut faire F9 pour actualiser CELLULE)

$P$5: je souhaite faire un Index/Equiv quelque part qui pourra avoir
comme r=E9sultat l'adresse variable de cette partie, en gros, je peux
=E9crire dans une cellule le P5 mais comment l'int=E9grer =E0 la formule de
fa=E7on variable ?

Et pour le luxe et le futur, peut on variabiliser aussi le chemin +
nom du ficheir, cela peut faire gagner du temps dans les futurs
fichiers ?
C:\Mes documents\Sylvie\Budget 2009\[2009 Stock Budget - France V2 off
protect version Reps.xls

Je reste attentive =E0 vos remarques et vos propositions

Merci d'avance

Syl VBA (faut que je change en SylFormule ??? Lol !!)

6 réponses

1 2
Avatar
michdenis
Tu veux bien m'envoyer un fichier avec par exemple la formule
indirect.ext() dans une cellule d'une feuille dans ma bal Hotmail.com

Dans ta cellule, utilise le chemin : "C:UsersDMDocuments"
Nom du Fichier : Classeur2.xls
adresse de la cellule : A1

En ouvrant ton fichier, je devrais être capable de retrouver la valeur
de la cellule A1 du fichier spécifié sans rien installer! C'est ta prétention!
Je veux bien faire le test.
Avatar
LSteph
Alors on va dire que cela ne fonctionne pas... et que ce serait une
"prétention".

Salutations.

--
lSteph


On 22 sep, 17:25, "michdenis" wrote:
Tu veux bien m'envoyer un fichier avec par exemple la formule
indirect.ext() dans une cellule d'une feuille dans ma bal Hotmail.com

Dans ta cellule, utilise le chemin : "C:UsersDMDocuments"
                           Nom du Fichier : C lasseur2.xls
                           adresse de la cell ule : A1

En ouvrant ton fichier, je devrais être capable de retrouver la valeur
de la cellule A1 du fichier spécifié sans rien installer! C'est ta pr étention!
Je veux bien faire le test.


Avatar
michdenis
| Alors on va dire que cela ne fonctionne pas... et que ce serait une
| "prétention".

Et bien, moi, j'aurais bien aimé que ce ne soit pas une prétention !
Cela aurait été ma découverte de la semaine... que dis-je ma découverte
du mois.
Avatar
SylVBA
Bonsoir,

merci Michdenis pour ta proposition V2

La nouvelle mouture me donne dans tous les cas la valeur de A1 même si
je renseigne en A4 une autre adresse que A1 !!

Je pense qu'on est pas loin, ....

je pense que la solution d'une formule avec des & au milieu ne
marchera pas, je vais essayer Morefunc de LL, mais je voudrais trouver
une solution sans si possible

Je reste la ce soir et je cherche, je cherche

Merci à vous pour votre temps

SylVBa

PS: j'ai pas osé entrer dans votre conversation, .....
Avatar
michdenis
Bon, c'est la dernière proposition....

Celle-ci devrait fonctionner !

Si la cellule est vide, la fonction retourne "Vide"
tu peux modifier vide par "" ou par 0 selon ce que tu désires.

la fonction retourne #valeur si tu essaies d'extraire une cellule
en dehors de la plage définie dans une feuille.
une plage définie = Dernière ligne où il y a une cellule occupée
par dernière colonne où il y a une cellule occupée

la fonction au niveau de la feuille ne change pas.

à copier dans un module standard.
'----------------------------------------------
Function Ado(Chemin As String, Fichier As String, _
Feuille As String, Adr As String) As Variant
Dim Conn As New ADODB.Connection, A As Variant
Dim Rst As New ADODB.Recordset, T As Variant

Dim Requete As String, File As String, X As String
If Right(Chemin, 1) <> "" Then Chemin = Chemin & ""
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & Fichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;IMEX=1;"""

Requete = "SELECT F" & Range(Adr).Column & " From [" & Feuille & "$]"
Rst.Open Requete, Conn, adOpenForwardOnly, adLockReadOnly

T = Rst.GetRows
A = T(0, Range(Adr).Row - 1)

If IsNull(A) Then
Ado = "VIDE"
ElseIf IsNumeric(A) Then
Ado = CDbl(A)
Else
Ado = A
End If

Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
End Function
'----------------------------------------------



"SylVBA" a écrit dans le message de groupe de discussion :

Bonsoir,

merci Michdenis pour ta proposition V2

La nouvelle mouture me donne dans tous les cas la valeur de A1 même si
je renseigne en A4 une autre adresse que A1 !!

Je pense qu'on est pas loin, ....

je pense que la solution d'une formule avec des & au milieu ne
marchera pas, je vais essayer Morefunc de LL, mais je voudrais trouver
une solution sans si possible

Je reste la ce soir et je cherche, je cherche

Merci à vous pour votre temps

SylVBa

PS: j'ai pas osé entrer dans votre conversation, .....
Avatar
LSteph
Bonjour,

..., je vais essayer Morefunc de LL, mais je voudrais trouver...



Les limites (Interface Windows) et les soucis éventuels pour certaines
versions sont précisés par son auteur.
C'est gratuit.
Il ny a pas que Indirect.ext dedans mais pour en revenir à cette
fonction, elle peut également être utilisée sur un fichier fermé
ce que ne fait pas le indirect classique

..une solution sans si possible


Liaison modifier la source prendrait un ou deux clics

Cordialement.

--
lSteph

PS-Tu peux répondre selon ton souhait à chacun distinctement sur ses
propositions.

PS: j'ai pas osé .....


n'a pas d'importance! mis un terme hier à 18:11
(le truc existe chacun peut se donner la peine de voir si cela lui
convient, rien d'autre à prouver)
1 2