Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sommeprod et plages nommés en VBA

FreeNaute93

XLDnaute Nouveau
Bonjour à tous,

J'ajoute un exemple de fichiers A et B. Il y une liaison à activer entre le fichier A et B (Ouvrir les 2 fichiers, puis depuis A Menu Edition > Liaison).

Pouvez vous m'aider à écrire en vba à l'aide d'une Fonction personnel la formule que j'ai en F2 dans le fichier A.

Merci.
FreeNaute95


Bonjour et merci d'avance pour votre aide,

J'ai un fichier Excel A dans lequel j'utilise la fonction sommeprod avec comme variables des plages nommés qui pointent sur un fichier Excel B

Les plages nommés sont définis dans le classeur A via le menu Insertion > Nom > Définir. Les plage sont nommés de la manière suivante : Plage1, Plage2, Plage3, Plage4, Plage5, Plage6. toutes les plages ont la même taille.

Les variables A1, A2, A3 et A4 correspondent aux cellules A1, A2, A3 et A4 du fichier Excel A.
Contenu des variables :
A1, Plage1 et Plage4 : texte
A2, A3, Plage2 et Plage3 : Date
A4, Plage5 et Palge6 : numérique

La fonction marche correctement dans le classeur A mais je n'arrive pas à la transcrire en vba dans un module Function.

fonction sous Excel : =sommeprod((Plage1=A1)*(Plage2>=A2)*(Plage3<=A3)*(Plage4="zone1")*(Plage5 > 0)*(Plage6/A4))

Quelle est la syntaxe à utiliser avec mon exemple en VBA, pouvez vous m'expliquer l'utilisation des guillements ("), simple ("), double("") ou triple (""") que j'ai pu voir dans le forum.
Si je crée une Fonction en VBA, dois je inclure les plages nommés dans l'appel à cette fonction ?
=Resultat(A1;A2;A3;A4;Plage1;Plage2;Plage3;Plage4;Plage5;Plage6)
ou
=Resultat(A1;A2;A3;A4)
 

Pièces jointes

  • exemple.zip
    14.4 KB · Affichages: 40
  • exemple.zip
    14.4 KB · Affichages: 45
  • exemple.zip
    14.4 KB · Affichages: 42
Dernière édition:

Discussions similaires

Réponses
11
Affichages
659
Réponses
12
Affichages
810
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…