IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

comparer une colonne à une plage variable [XL-2010]


Sujet :

Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 14
    Points
    14
    Par défaut comparer une colonne à une plage variable
    Bonsoir,
    j'ai un souci sur la mise en formule et vba de mon pb
    en effet, ce que je recherche à faire, c'est de comptabilisé le nombre de fois qu'apparait à chaque fois le résultat de la dernière colonne à l'identique dans la plage de cellule defini. la variation de cette plage doit être défini par la valeur de la cell CR21.
    Fichier image ci-joint.

    Si par exemple je change la valeur de la cellule CR21 par la valeur 4, je veux réduire la plage de cellule a 4 colonnes, comme l'exemple sur le fichier ci-joint, sachant que la colonne de référence est toujours la dernière qui apparait,
    ex: après avoir cliquer sur le bouton +1 jusqu'à la colonne 25, la je change la valeur de CR21 par 7 et la il me faut la plage de DK à DQ.

    Je patauge dans les formules sans succès
    Y a t'il une autre méthode ?
    si qq'un a une idée !
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  2. #2
    Membre actif
    Formateur en informatique
    Inscrit en
    Janvier 2011
    Messages
    134
    Détails du profil
    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 134
    Points : 205
    Points
    205
    Par défaut
    Bonjour,

    En CY21 j'ai saisi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTVIDE(CY1);"";SOMMEPROD(1*(RECHERCHE(CY2;6:6)=INDIRECT("L2C"&SOMME(COLONNE())-$CR$21 & ":L2C" & SOMME(COLONNE())-1;FAUX)*(RECHERCHE(CY3;6:6)=INDIRECT("L3C"&SOMME(COLONNE())-$CR$21 & ":L3C" & SOMME(COLONNE())-1;FAUX))*(RECHERCHE(CY4;6:6)=INDIRECT("L4C"&SOMME(COLONNE())-$CR$21 & ":L4C" & SOMME(COLONNE())-1;FAUX)))))
    S3 test.xlsm

    Indirect() me sert à fabrique une plage qui dépend de CR21 (nombre de colonnes retenues) ... colonne() le numéro de la colonne active (je la prends avec somme car sinon la valeur de la colonne est retournée sous forme matricielle, je pense que c'est parce que colonne() est dans sommeprod() )

    Cordialement,
    Stéphane

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Bonjour Stef999,
    avant tout, merci pour votre aide.
    J'ai testé votre formule en effet elle fonctionne, mais ce que je comprend moins bien, c'est le vecteur de recherche !
    en effet, la valeur du vecteur dans la formule est de 6:6 pour les 3 fonction RECHERCHE(dans cette configuration ça fonctionne),
    pourquoi quand je remplace cette valeur par 2:2 pour la 1ere RECHERCHE, puis par 3:3 pour la 2eme RECHERCHE et 4:4 pour la 3 RECHERCHE, ces vecteurs sont censés représenter les lignes de recherche, donc les lignes 2,3, et 4, mais la j'ai une erreur #N/A !

    =SI(ESTVIDE(CY1);"";SOMMEPROD(1*(RECHERCHE(CY2;2:2)=INDIRECT("L2C"&SOMME(COLONNE())-$CR$21 & ":L2C" & SOMME(COLONNE())-1;FAUX)*(RECHERCHE(CY3;3:3)=INDIRECT("L3C"&SOMME(COLONNE())-$CR$21 & ":L3C" & SOMME(COLONNE())-1;FAUX))*(RECHERCHE(CY4;4:4)=INDIRECT("L4C"&SOMME(COLONNE())-$CR$21 & ":L4C" & SOMME(COLONNE())-1;FAUX)))))

    QQ chose m'échappe t'il ?

  4. #4
    Membre actif
    Formateur en informatique
    Inscrit en
    Janvier 2011
    Messages
    134
    Détails du profil
    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 134
    Points : 205
    Points
    205
    Par défaut
    Bonjour,

    La modif que j'ai faite vise uniquement à prendre en compte un nombre de colonne variable à partir de la formule initiale ....
    Ce que vous vouliez faire avec cette formule initiale et le pourquoi de cette fonction recherche je ne le sais pas !!
    Dans les faits elle vérifie l’existence d'un nombre dans la dernière ligne, la 6, si le nombre n'y est pas elle renvoie NA (effectivement) et s'il est présent c'est le nombre qui est renvoyé ... Si l'objectif était uniquement de compter des triplets, sans autre contrainte, on peut tout à fait se passer de cette recherche et saisir en CT21 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTVIDE(CT1);"";SOMMEPROD(1*(CT2=INDIRECT("L2C"&SOMME(COLONNE())-$CR$21 & ":L2C" & SOMME(COLONNE())-1;FAUX)*(CT3=INDIRECT("L3C"&SOMME(COLONNE())-$CR$21 & ":L3C" & SOMME(COLONNE())-1;FAUX))*(CT4=INDIRECT("L4C"&SOMME(COLONNE())-$CR$21 & ":L4C" & SOMME(COLONNE())-1;FAUX)))))
    Cordialement,
    Stéphane

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    bonjour,
    mon pb est résolu.
    En effet, à partir de vos propositions et à force de chercher, bidouiller, j'ai trouvé une alternative de formule

    =SI(ESTVIDE(CY1);"";NB.SI.ENS(INDIRECT("L2C"&SOMME(COLONNE())-$CR$21 & ":L2C" & SOMME(COLONNE())-1;FAUX);CY2;INDIRECT("L3C"&SOMME(COLONNE())-$CR$21 & ":L3C" & SOMME(COLONNE())-1;FAUX);CY3;INDIRECT("L4C"&SOMME(COLONNE())-$CR$21 & ":L4C" & SOMME(COLONNE())-1;FAUX);CY4)*1)

    Merci d'avoir consacré votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/02/2021, 16h57
  2. MFC d'une colonne à une colonne et planning perpetuel
    Par mlegentil dans le forum Excel
    Réponses: 0
    Dernier message: 12/04/2014, 17h43
  3. Ajouter une colonne à une table dont le nom est variable
    Par Badtothebone93 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 23/04/2009, 17h32
  4. [VBA-E] COUNTIF sur une sélection de plage variable
    Par NiKoS29 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/09/2007, 23h03
  5. [VB.net] Comparer valeurs d'une table à une variable
    Par collaud_vb dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/09/2006, 15h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo