Google Sheet - Formule qui fonctionne sur excel mais pas en ligne
Bonjour à tous,
Bon alors voilà je suis en train de construire un fichier excel qui doit être utilisable en ligne via Google sheet (version simplifié d'excel sur laquelle le VBA ne fonctionne pas), donc du coup je fonctionne avec des formules assez imbuvable dans Excel.
Jusqu'à présent j'ai toujours trouvé la parade avec des formules pour toutes les fonctions dont j'ai besoin dans mon fichier. Mais voilà, lors de la mise en ligne du fichier, une formule ne fonctionne pas (alors qu'elle fonctionne très bien sur excel normal, la voici :
Cette fonction permet de rechercher la valeur C4 dans un tableau défini (C1:BQ900) et d'en renvoyer l'entête contenu dans la première ligne ( de C1 à BQ1).
Je vous accorde que c'est un peu chiadé, mais si vous avez mieux je suis preneur.
Code:
=SI(C7="";"";SIERREUR(INDIRECT("'CLIENTS'!"&ADRESSE(1;COLONNE(INDIRECT(CAR(64+SOMMEPROD(((CLIENTS!$C$1:$BQ$900=D7)*COLONNE(CLIENTS!$C$1:$BQ$900))*1))&SOMMEPROD(((CLIENTS!$C$1:$BQ$900=C7)*LIGNE(CLIENTS!$C$1:$BQ$900))*1)));4);VRAI);"Inconnu"))
Sinon, Google sheet me donne la valeur "inconnu" tout le temps, ce qui signifie qu'il n'arrive pas à le calculer car fonction sierreur... l'explication donnée par google est : "les arguments de la fonction multiply ne sont pas de même taille).
J'ai réussi à cibler le problème précisément dans la fonction :
Code:
SOMMEPROD(((CLIENTS!$C$1:$BQ$900=D7)*COLONNE(CLIENTS!$C$1:$BQ$900))*1))
, et particulièrement dans la formule "COLONNE" . Si je remplace celle-ci par "COLONNES" '(avec un S), la formule marche mais la valeur n'est pas la bonne.
Ce que je ne comprends pas, c'est que dans la formule globale se trouve la même fonction mais avec ligne :
Code:
SOMMEPROD(((CLIENTS!$C$1:$BQ$900=C7)*LIGNE(CLIENTS!$C$1:$BQ$900))*1)
Et celle-la fonctionne parfaitement....
Pourriez-vous m'aider à comprendre le pourquoi du comment ?
Merci pour votre aide :).