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 :

Macro pour tester la somme de deux colonnes différentes. [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Assistant experts
    Inscrit en
    Juillet 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Assistant experts

    Informations forums :
    Inscription : Juillet 2017
    Messages : 15
    Par défaut Macro pour tester la somme de deux colonnes différentes.
    Bonjour à toutes et à tous,

    Je suis débutant en VBA et par conséquent je me forme seul en cherchant des réponses aux problèmes rencontrés en parcourant les sites.

    N'ayant pas trouvé de réponse à ma problématique qui pourtant doit être simplissime à régler je me tourne vers vous :

    Je cherche la ligne de code qui se traduirait ainsi en VBA : If not "Somme de la colonne B" = "Somme de la colonne C" then

    Je précise que je ne souhaite pas utiliser la fonction formular1c1 pour afficher la somme en dernière ligne. Mon code ne doit pas avoir d'incidence sur le tableur.

    J'aimerai également savoir s'il existait une base de données recensant toutes les fonctions, objet, etc du langage VBA?

    Un grand merci d'avance pour votre retour.

    Naunaud59

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    pour la liste des objets, propriétés, méthodes etc... tu as l'explorateur d'objet dans ton editeur VBA
    bien que sommaire, tu as la liste de ces éléments, et tu peux accéder à l'aide en ligne de là


    pour ta problématique, tu peux utiliser la fonction Sum, sans forcément passer par la classe des worksheetfunctions

    un exemple sur l'ensemble des colonne B et C de la feuille active

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub uio()
        With ActiveSheet
            If Application.Sum(.Columns(2)) <> Application.Sum(.Columns(3)) Then
                MsgBox "C'est pas identique"
            End If
        End With
    End Sub

  3. #3
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Bonjour,

    Citation Envoyé par Naunaud59 Voir le message
    J'aimerai également savoir s'il existait une base de données recensant toutes les fonctions, objet, etc du langage VBA?
    Oui tout est dans l'aide interne de vba (touche F1)


    Je cherche la ligne de code qui se traduirait ainsi en VBA : If not "Somme de la colonne B" = "Somme de la colonne C" then

    Je précise que je ne souhaite pas utiliser la fonction formular1c1 pour afficher la somme en dernière ligne. Mon code ne doit pas avoir d'incidence sur le tableur.
    Interesse toi a worksheetfunction https://msdn.microsoft.com/fr-fr/lib.../ff834434.aspx
    Dans ton cas tu auras besoin de worksheetfunction.sum

    edit: trop lent

  4. #4
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour et bienvenue au forum,

    De façon générale si tu connais une fonction XXX en Excel et que tu veux l'utiliser en VBA, tu cherches ça traduction en anglais, appelons YYY la traduction de XXX en anglais. Ensuite, en VBA, tu peux utiliser la fonction Application.yyy. Avec SOMME, par exemple, la traduction est SUM, tu peux donc utiliser Application.Sum.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =Application.Sum(Sheets("ma feuille").Range("A:A"))    'renvoie la somme de la colonne A de la feuille "ma feuille".
    J'aimerai également savoir s'il existait une base de données recensant toutes les fonctions, objet, etc du langage VBA?
    Tu as des tutos qui te permettent de découvrir les principales fonctionnalités de VBA et de la programmation en VBA.
    [LIST][*]http://bidou.developpez.com/article/VBA/[*]http://laurent-ott.developpez.com/tu...l-vba-tome-1/#/LIST]
    Ensuite, tu as beaucoup d'infos sur le site de microsoft (msdn). Par exemple, toutes les methodes et propriétés pour l'objet Range : https://msdn.microsoft.com/fr-fr/lib.../ff837085.aspx
    Globalement, si tu ne sais pas si une certaine fonction existe, tu trouveras facilement la réponse en faisant une recherche sur internet en se souvenant que VBA est en anglais et que les noms des fonctions sont plutôt logiques. Par exemple, est-ce qu'il y a une fonction qui permet de vérifier qu'une variable est numérque ? Tu fais une recherche et tu découvres la fonction isNumeric.
    Enfin, n'oublie pas l'enregistreur de macro qui te permet de découvrir beaucoup de choses. Attention à toujours bien re-travailler le code donné par l'enregistreur de macro.

  5. #5
    Membre averti
    Homme Profil pro
    Assistant experts
    Inscrit en
    Juillet 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Assistant experts

    Informations forums :
    Inscription : Juillet 2017
    Messages : 15
    Par défaut
    Wahou ! Merci à vous tous pour votre réactivité ! J'ai testé votre code et il me convient parfaitement.

    N'ayant pas beaucoup de temps libre je vais tout de même faire au mieux pour en apprendre davantage grâce à vos liens.

    Je vous souhaite une bonne fin de journée et à très bientôt puisque j'ai d'autres problématiques bien plus complexes que celle-ci ah ah.

    Naunaud59

  6. #6
    Membre averti
    Homme Profil pro
    Assistant experts
    Inscrit en
    Juillet 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Assistant experts

    Informations forums :
    Inscription : Juillet 2017
    Messages : 15
    Par défaut
    Enfin, n'oublie pas l'enregistreur de macro qui te permet de découvrir beaucoup de choses. Attention à toujours bien re-travailler le code donné par l'enregistreur de macro.
    Effectivement c'est de cette manière que j'ai découvert les macros et je m'amusais (dans le but de progresser) à supprimer tout ce qui était superflux.

    Désormais en ayant une dizaine de macros à mon actif je ne l'utilise plus, j'essaye de taper les codes basiques à la main et je reprends les codes compliqués (mais que je comprends) des anciennes macros que je réajuste constamment.

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

Discussions similaires

  1. VBA pour réaliser une somme de deux colonnes dans deux fichiers différents
    Par chito79000 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/03/2015, 16h19
  2. Fonction pour tester la collision entre deux objets
    Par izissie dans le forum Newton
    Réponses: 1
    Dernier message: 22/09/2010, 20h56
  3. Réponses: 6
    Dernier message: 20/11/2009, 13h07
  4. Somme de deux colonnes
    Par khayate dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/06/2007, 15h25

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