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 séparation des numéros + somme


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
    Chargé d'affaire
    Inscrit en
    Mars 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Mars 2014
    Messages : 23
    Par défaut Macro séparation des numéros + somme
    Bonjour,

    Je viens de créer une macro qui permet de dissocier des numéros d'une cellule de la feuil BG ( cellule source= 233221, cellule après macro = 233 ) sachant que les cellules dans le fichier source contiennet pour le même exemple toujours ( 233221; 233220; 233250 etc...) la macro permet de sommer toute les cellules dont la racine est 233 ( racine de 3 chiffres) sur une autre feuille ( feuille 3CHIFFRE); Les cellules qui comment par un 6 ou 7 sont rassembler dans une feuille à part et subissent le même traitement; Les cellules qui commencent par un 28 sont rassembler dans une feuille à part aussi ( feuille amortissement).

    La macro exploite une feuille (PLANEXPLOIT) ( puiske c'est cette feuille qui contient tout les numéros de compte).

    Description du fonctionnement:

    Au début la macro copie de la feuille (PLANEXPLOIT) tous les numéros de compte à 3 ( pour qu'ils soit expoiter pour la feuille 3CHIFFRE) et à 4 chiffres ( pour leur exploitation dans les feuilles ( Amortissement; CPC ( compte dont les numéros commencent par ( 6 ou 7)); 29-39 ( comptes dont les numéros commence par 29 ou 39) et enfin le 15 ( comptes dans les numéros commenence par un 15).

    Deuxièmement la macro permet d'effectuer une somme:

    -Sommer les compte de 3 chiffres ( ex: 233221; 233250 etc dans un seul compte 233) et les placer dans la feuille 3CHIFFRE

    -Sommer les compte qui commencent par 6 et 7 ( ex: 617413; 617423 etc dans un seul compte à 4 chiffre 6174) et les placer dans la feuille CPC

    -Sommer les comptes qui commence par un 28 ( ex: 283221; 283270 etc.. dans un seul compte à 4 chiffres 2832) et les placer dans la feuille amortissement.

    -Sommer les comptes commence par un 15 ( ex: 151100 dans un compte à 4 chiffres 1511) et les placer dans la fuille 15.

    - Sommer les comptes qui commence par un 39 ou un 29 ( ex 391500; 391501 dans un comptes de 4 chiffres 3915) et les placer dans la feuille 39.29.

    La macro contient une partie pour homogénéiser le fichier source ( elle met tout les numéros de comptes sous un format de 8 chiffres en plaçant des 0).

    La partie sur laquelle je bloque c'est lorsque je lance la macro: elle répartie les comptes sur les toute les feuilles bien comme il faut, mais les sommes dans les feuilles suivantes ne sont bonnes, seul la feuille 3CHIFFRE est fiable (la somme est bonne), toutes les autres feuilles: sur de feuille les somme ne commencent qu'à partir d'une celle donc ça fausse les autres sommes.

    Enfin, théoriquement une fois la somme calculer dans la colonne D, la macro supprimera le détails de calcul dans la colonne C.

    MACRO2.zip

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 86
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Par défaut
    Bonjour,
    Pourquoi vouloir vous compliqué la vie pour faire ça avec une macro alors que SOMMEPROD() peut le faire tout simplement?
    Je vous avais déjà soumis cette solution dès votre première demande et la formule fonctionnait.
    Essayez donc cette formule en C2 puis la tirer vers le bas jusque la ligne 370 de la feuille PLANEXPLOIT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(A2<>"";SOMMEPROD((GAUCHE(BG!$A$2:$A$370;NBCAR(PLANEXPLOIT!A2))=PLANEXPLOIT!A2)*(BG!$C$2:$C$370));"")
    Mais c'est évidemment vous qui décidez.

  3. #3
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Mars 2014
    Messages : 23
    Par défaut
    Salut Rajmin,

    ça ne marche pas en fait qu'on je place la formule dans la cellule C2 de chacune des feuilles tout en modifiant les paramètres.

    L'idéal est de compléter ma macro SVP, vu que les fichiers sur lesquels je travaille le personnel n'est pas trop initier aux fonctions excel encore moins à une fonction "= sommeprod() ou "= somme.si.ens () alors j'ai pensé à réaliser la macro tout en modifiant moi même à chaque fois les feuilles sources et plages.

    SVP j'attend votre retour concernant le point macro sur lequel je bloque.

    MERCI.

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 86
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Par défaut
    Re,
    Il y a plusieurs modules dans lequel se trouve la macro à modifier ?
    Est-ce MacroComplète ou NouvelleMacro ?

    Quelle version d'Excel utilisez-vous ?

  5. #5
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Mars 2014
    Messages : 23
    Par défaut
    Re,

    Le module 3 NouvelleMacro,

    J'utilise un Excel 2010

  6. #6
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 86
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Par défaut
    Bonjour,
    Dans la macro qui n'est pas lisible facilement, vous activez les feuilles avec Feuil1.Activate ou Feuilx.Activate
    Seulement j'ai un problème avec cette façon de procédé, quand le regarde l'arborescence de VBA project je vois

    Pièce jointe 142002

    Feuil3 et Feuil10 = BG si on active ces deux feuilles
    Feuil4 et Feuil9 = Plan si on active ces deux feuilles
    Cela n'est pas très clair
    Pourquoi ne pas activer les feuilles par leur nom Sheets("PLAN").Activate par exemple ce serait beaucoup plus lisible
    Les indentations seraient aussi une facilité pour la lecture au lieu de tout mettre à la marge gauche.
    Pourriez-vous SVP expliquez, en français, le déroulement des opérations à réaliser
    Tel que :
    1. Ouvrir telle feuille pour lire ou copier ou coller....
    2. Ouvrir telle autre pour
    etc.

    Si vous aviez mis des commentaires dans votre macro on ne serait pas obligé de poser ces questions.
    Dans les conditions où vous présentez la macro c'est presqu'impossible de suivre le déroulement autrement que par l'exécution pas à pas, mais cela demandera des heures, car il y a plus de 600 lignes dans la macro.

    Je veux bien m'y atteler mais il faut que j'aie l'explication du déroulement des opérations sinon j'abandonne.
    Désolé.

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/04/2011, 18h53
  2. Controle des numéros utilisés
    Par Microquant dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/09/2005, 17h54
  3. [Design] Séparation des couches
    Par brousaille dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 17
    Dernier message: 16/03/2005, 21h34
  4. Réponses: 4
    Dernier message: 16/03/2004, 14h16
  5. Calcul des numéros de semaine d'un calendrier
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 06/11/2002, 21h29

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