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

Macros et VBA Excel Discussion :

[vba-excel] Comparaisons binaires


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de CIBOOX
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 194
    Par défaut [vba-excel] Comparaisons binaires
    Bonsoir le forum ,
    je cherche a mettre en place une macro afin de calculer le nombre de fois que les binomes sont constitués je vous joins mon fichier pour plus d' informations

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Dans la colonne pousse-cailloux / Le boss, mets cette formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(LC(-4)="leBoss") * (LC(-2)="pousse-cailloux")
    et recopie-la vers le bas
    Dans la colonne pousse-cailloux / tonton, mets cette formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(LC(-5)="tonton") * (LC(-3)="pousse-cailloux")
    et recopie-la vers le bas
    Dans la cellule total, tu peux aditionner des chiffres et non des trous
    Pour les trinomes, ça marche aussi. J'ai fait trois colonnes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =( (LC(-3)="pousse-cailloux")) * (LC(-5)="tonton") * (LC(-6) = "marcel")
    etc.
    Tu dis
    A+

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu as une autre méthode. Je la sépare du post précédent car elle n'a rien à voir
    Tu établis deux (ou trois) listes exhaustives des noms que tu vas comparer
    Deux pour les binomes, trois pour les tri
    Tu nommes chaque cellule de son propre nom -> tonton pour tonton, tata pour tata
    Maintenant, pour comparer une liste, dans la colonne "guidonDeVélo et chasse-goupille" tu peux utiliser la formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(LC(-4)=GuidonDeVélo) * (LC(-2)= Chasse-Goupille)
    C'est plus long mais tu économises les guillemets

    Y'en a vraiment qu'ont rien à foutre

  4. #4
    Membre confirmé Avatar de CIBOOX
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 194
    Par défaut
    Bonjour ouskel'nor
    peux tu m'expliquer la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(LC(-4)="leBoss") * (LC(-2)="pousse-cailloux")

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Salut CIBOOX, ne te voyant pas, j'ai cru que tu avais explosé
    Dans Excel, vrai est = à 1 et faux à 0
    quand tu mets
    =(LC(-4)="leBoss") * (LC(-2)="pousse-cailloux")
    Si LC(-4)="leBoss" est vrai, tu obtiens vrai donc 1
    LC(-2)="pousse-cailloux" est vrai, tu obtiens vrai, donc 1
    et 1 * 1 = 1 à moins que ça ait changé...
    Mon explication te sied-elle

    Attention : Dans VBA True = -1
    Que tu n'ailles pas dire que je t'ai enduit d'erreur

    PS - Comme ça,
    Dans Excel : vrai * vrai * vrai = 1
    Dans VBA :
    True * True * True = -1
    et donc...
    ok = True * True * True '= -1
    ok = True And True And True ' = True
    ok = True Or True Or True ' = True
    ok = True + True + True ' = -3
    et enfin
    ok = True & True & True ' = TrueTrueTrue ou en français VraiVraiVrai

  6. #6
    Membre confirmé Avatar de CIBOOX
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 194

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    L pour Ligne
    C pour Colonne
    Indique le décallage entre la cellule dans laquelle se trouve la formule et la cellule visée.
    Place-toi dans la colonne 7 (G) de ton fichier, ligne 2
    Frappe le signe =
    puis sélectionne la cellule qui se trouve en E2
    tu obtiendras
    =LC(-2)
    On appelle ça une "référence relative" car relative à la position de la cellule active.
    Tu ne pourras pas aller bien loin dans VBA Excel si tu ne connais pas mieux Excel
    Regarde déjà dans l'aide Excel à "À propos des références de cellules et de plages" -> "Le style de référence L1C1"
    Et pendant que tu y es, regarde les différents type de références dans Excel.
    Et je ne parle pas de VBA. Tu fais F1 dans une feuille de calculs, pas dans l'éditeur VBA.
    Bonnes études

  8. #8
    Membre confirmé Avatar de CIBOOX
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 194
    Par défaut
    merci ouskel'n'or
    peux t' on simplifie le code ?
    ce code marche de facon lineaire, moi je cherche à l'appliquer pour une plage données exemple c2:c23 ( en mode reference 22L*1C )

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Faut que tu en dises un peu plus... Tu veux faire quoi de la plage c2:c23 ? Si c'est une somme, tu peux.
    ceci étant la formule que j'avais placée en G25, recopiée à droite jusqu'à la cellule T25 de ton propre fichier
    A+

    NB - Ce n'est pas "en mode reference 22L*1C" mais "L22C1"

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tiens, pour m'amuser, j'ai utilisé des adresses absolues.
    Dans les formules, les numéros de lignes précédées de $ indiquent que les adresses qu'elles désignent ne changeront pas de ligne si la formule est copiée dans une autre cellule
    Les noms de colonnes précédées de $ indiquent que les adresses qu'elles désignent ne changeront pas de colonne si la formule est copiée dans une autre cellule
    Enfin, au lieu d'écrire tonton, tata, tatie ou pousse-cailloux dans les formules, je fais référence aux entêtes de colonnes que j'ai mises sur deux lignes pour les binômes, sur trois pour les tri (ex sur la dernière colonne)
    Ainsi je n'ai eu à écrire qu'une fois la formule qui va bien et à la recopier dans tout le tableau.
    Une chose que tu dois prendre en compte :
    Si tu as tonton et tata, tu auras 1 si la condition est remplie dans la colonne tonton tata mais tu auras 0 dans la colonne tata tonton.
    A toi de voir
    Bref, je me suis bien amusé
    Pièce jointe 9642
    A+

  11. #11
    Membre confirmé Avatar de CIBOOX
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 194
    Par défaut
    bonjour ouskel n'or
    merci pour tes explications et ton fichier
    je tente de l'appliquer sur ma veritable base de données ...

    pour se faire je voudrai savoir si a chaque fois que je rajoute une ligne les nouvelles cellules vont "avoir " les differentes formules adaptées que tu m'a fourni

    pour ce qui est du total je pense deplacer la cellule pour ne pas avoir de probleme lors de l'insertion de la nouvelle ligne

    je cherche aussi à appliquer ta formule de maniere plus general exemple
    sur un tableau qui compte 22 lignes soit plage a2:a23
    toto dans colonne a
    tata dans colonne e
    tonton dans colonne f


    combien de lignes j'ai la combinaison toto tata tonton
    à l'appliquer pour une plage données exemple c2:c23
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =((a2:a23)=toto)*((e2:e23)=tata)*((f2:f23)=tonton)
    sachant que si je rajoute une nouvelle ligne ce code s'adapte en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =((a2:a24)=toto)*((e2:e24)=tata)*((f2:f24)=tonton)

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je n'ai rien compris.
    Si tu mets tes formules sur cette plage, où mets-tu tes données ?
    Bon, là j'arrête.
    Tu lis mes explications sur les adresses relatives et absolues,
    tu lis ce que j'ai mis sur les adresses ayant une ou deux références fixes,
    tu lis ce que j'ai mis sur les booléens
    et si tu n'arrives pas à adapter, alors c'est que tu es perdu pour la science
    Tu peux aussi acheter un bon bouquin sur "Comment démarrer sur Excel"
    On est quand même sur un forum VBA, m...e
    Maintenant, si quelqu'un veut prendre la relève, je cède la place
    Bon courage

    Codicille : Forum Bureautique

  13. #13
    Membre confirmé Avatar de CIBOOX
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 194
    Par défaut
    ok ouskel 'n'or merci pour ton aide precieuse !!!!!

    apres voir bien reflechir je revois ma copie
    je souhaiterai connaitre le nombre de lignes ayant les termes toto tata tonton lorsque j'effectue un filtre elabore.

  14. #14
    Membre confirmé Avatar de CIBOOX
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 194
    Par défaut
    cette discusion est resolu grace au grand OUskel en Or .....

    oui! ses codes marchent tres bien
    Pour ma part ne voulant pas trop allourdir ma feuille de calcul en ajouteant plusieur colonne avec des formules de calcul j'ai opté pour la discusion " compter les lignes filtrées"
    ceci dit je tiens a remercier une nouvelle fois ouskeln'or

  15. #15
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Même si je ne comprends pas (une vieille habitude) ce que vient faire un filtre dans cette "histoire", tes remerciements me vont droit au coeur. Et donc, merci cibbox, je ne te demanderai pas d'explications

  16. #16
    Membre confirmé Avatar de CIBOOX
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 194
    Par défaut
    oui en fait j'utilisai le filtre pour verifier et pour compter manuellement le nombre de ligne tata tonton et toto
    on etait pas obligé aplliquer un filtre au tableau

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

Discussions similaires

  1. [VBA EXCEL] Comparaison d'entête de colonne
    Par Keitarokun dans le forum Macros et VBA Excel
    Réponses: 22
    Dernier message: 26/06/2007, 16h53
  2. [VBA-EXCEL] Comparaison de 2 tables Excels
    Par tangjuncn dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/02/2007, 11h24
  3. Macro VBA Excel : Comparaison des deux 1ères colonnes de 2 fichiers Excel
    Par techneric dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/01/2007, 10h00
  4. VBA - Excel - comparaison de deux feuilles
    Par toto14 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 13/10/2006, 13h52
  5. [VBA]excel comparaison de chaine de caractere
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/01/2006, 15h32

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