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 :

Somme de colonnes en fonction des en-têtes des colonnes sans vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 10
    Par défaut Somme de colonnes en fonction des en-têtes des colonnes sans vba
    Bonjour,

    afin d'automatiser un reporting pour ma société, je dois mettre à jour un fichier Excel en allant chercher différentes données dans d'autres fichiers Excel.
    Les fichiers ont une struturation propre permettant de trouver les informations par des formules telles que :

    =SOMME('CHEMIN_FICHIER_01_Feuil1'!$G$2:$G$101;'CHEMIN_FICHIER_01_Feuil1'!$G$2:$G$101).

    Mais il arrive que les tableaux contenus dans les fichiers sources ne soient pas composés du même nombre de colonnes et parfois ne contiennent pas la colonne recherchée.

    Comment faire une somme sans erreur quand l'une des colonnes n'existe pas et comment faire la somme de plusieurs résultats ??

    Merci de votre aide.

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour
    j'arrive pas à comprendre ta requete mais voir coté SOMME.SI

  3. #3
    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,
    Je ne comprends pas bien comment le fichier ne peut pas contenir une certaine colonne. A priori, tout classeur a une colonne G.
    Est-ce que tu te poses la question en fonction des en-têtes de colonne ? Est-ce que tu veux faire la somme d'une colonne en fonction de son en-tête?
    Si oui, tu peux regarder tu côté d'EQUIV et DECALER, puis faire une SOMME.

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 10
    Par défaut
    Citation Envoyé par riaolle Voir le message
    Bonjour,
    Je ne comprends pas bien comment le fichier ne peut pas contenir une certaine colonne. A priori, tout classeur a une colonne G.
    Est-ce que tu te poses la question en fonction des en-têtes de colonne ? Est-ce que tu veux faire la somme d'une colonne en fonction de son en-tête?
    Si oui, tu peux regarder tu côté d'EQUIV et DECALER, puis faire une SOMME.
    Je voulais dire que mes fichiers contiennent des tableaux (en PJ, 2 tableaux pour lesquels je dois faire la somme des colonnes ayant les en-tête "Maternité" et "Sans solde").Nom : 02.png
Affichages : 939
Taille : 13,3 KoNom : 03.png
Affichages : 949
Taille : 16,8 Ko

  5. #5
    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,
    Tu veux donc trouver une colonne en fonction de son en-tête. Voici les fonctions qui vont t'être utiles :
    • DECALER : permet de décaler une plage de cellules en fonction du nbe de lignes et du nbes de colonnes de décalage et du nbe de lignes et du nbe de colonnes que la plage finales devra contenir.
    • EQUIV : permet de trouver une cellule en fonction de son contenu et d'obtenir sa position relative dans une plage de cellules données.

    Tu peux utiliser EQUIV pour trouver la position de l'en-tête dans la ligne 1 (donc son numero de colonne) et ensuite tu utilises DECALER pour aller vers cette colonne --> tu pars de la colonne A:A et tu décales en fonction de la position trouvée grâce à EQUIV. Et enfin tu fais la SOMME de cette nouvelle plage de cellules.
    Est-ce que tu vois comment faire ?

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 10
    Par défaut
    Bonjour et merci de votre soutien,

    j'ai vu aussi qu'il était possible d'utiliser une formule du type =SOMME(absences24.xlsx'!Tableau2[Act.Partiel.]), qui retourne la somme des nombres de la colonne dont l'entête serait "Act.Partiel."

    J'ai comme même un bug quand, dans la formule l'un des tableau ne contient pas cette entête dite "Act.Partiel."

    Que pensez-vous de cette méthode ?

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 10
    Par défaut
    Un autre exemple j'espère un peu plus clair :

    =SOMME('C:\Users\a.admin\...\REPORTING-2018\absences24.xlsx'!Tableau2[Act.Partiel.];'C:\Users\a.admin\...\REPORTING-2018\absences2.xlsx'!Tableau2[Act.Partiel.])

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Somme de colonnes en fonction des en-têtes des colonnes sans vba
    Indépendamment de ce qui a été dit, je trouve frustrant de ne pas utiliser de macro dans un forum qui leurs est consacré!

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 10
    Par défaut
    Bonjour,

    je comprends votre remarque, comment déplacer ce sujet au bon endroit dans ce cas ?

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 10
    Par défaut
    Il semble que la seule réponse de Microsoft pour mon dernier problème est celui-ci :

    Liens entre classeurs
    Évitez dans la mesure du possible les liens entre classeurs : ils peuvent être lents, facilement rompus et pas toujours faciles à trouver et à réparer.
    Il est généralement (mais pas toujours) préférable d’utiliser quelques grands classeurs plutôt que de nombreux petits classeurs. Une exception à cette règle pourrait être un scénario dans lequel vous avez de nombreux calculs frontaux qui sont si rarement recalculés qu’il est plus logique de les placer dans un classeur distinct, ou dans lequel vous disposez d’une quantité de RAM insuffisante.
    Essayez d’utiliser de simples références de cellules directes qui opèrent sur des classeurs fermés. Ce faisant, vous pouvez éviter de recalculer tous vos classeurs liés lorsque vous recalculez un classeur quelconque. Par ailleurs, vous pouvez voir les valeurs qu’Excel a lu à partir du classeur fermé, ce qui est souvent important à des fins de débogage et d’audit du classeur.
    Si vous ne pouvez éviter d’utiliser des classeurs liés, essayez de tous les ouvrir et ouvrez les classeurs de destination avant les classeurs sources.

    https://msdn.microsoft.com/fr-fr/lib...ffice.14).aspx

Discussions similaires

  1. [AC-2013] Tri des en-tête de colonne après une requête croisée
    Par cataclop dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 13/11/2015, 07h41
  2. Réponses: 2
    Dernier message: 10/10/2013, 15h35
  3. Réponses: 1
    Dernier message: 05/03/2012, 15h04
  4. Récupération du nom des en-têtes de colonnes
    Par andre94200 dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 21/04/2011, 15h41
  5. Réponses: 0
    Dernier message: 29/04/2010, 16h50

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