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 - Extension de formules après ajout ou suppression de colonnes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 3
    Par défaut VBA - Extension de formules après ajout ou suppression de colonnes
    Bonjour à tous,

    (le fichier est joint pour que ce soit plus compréhensible)

    Je suis actuellement en stage. J'ai une mission qui consiste à formaliser le calcul de rentabilité d'un investissement. J'essaye donc d'utiliser quelques codes VBA pour cela.

    En fait, le calcul de rentabilité d'un investissement peut avoir un horizon temporel d'un investissement à un autre. Je souhaite donc créer un fichier standard avec une date de début et une date de fin modifiables.

    J'ai inséré deux boutons "+" et "-" reliés à des macros et à des codes VBA:
    - le premier permet de copier la zone (composée de formules) relative au début du projet, d'insérer une nouvelle colonne avant la dernière colonne d'analyse et de coller les formules
    - le deuxième permet de supprimer l'avant dernière colonne

    Mon problème se situe au niveau de la colonne "totaux", j'aimerais que lorsque je clique sur "+", la formule somme soit étendue jusqu'à la dernière année d'analyse et au contraire lorsque je clique sur "-", la formule somme soit réduite jusqu'à la dernière année d'analyse.

    Pas facile à comprendre mais je vous joins le fichier. Si vous avez des questions, n'hésitez pas.

    calcul TRI (test1).xls

    Merci de votre aide!!

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Dans les 2 macros que tu as écrites, tu recherche le mot "Creation" sur la ligne 22, mais le mot n'y est pas...
    Où devrait-il se situer ?

    Quel est le besoin d'insérer/supprimer l'avant-dernière colonne ?
    Pourquoi pas la dernière ou une autre ?

    Si tu connais la dernière colonne, tu pourrais changer tes formules de cette manière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C24").Formula = "=SUM(" & Cells(24, 4).Address & ":" & Cells(24, Colonne).Address & ")"
    qui pourrait être intégrée à une boucle éventuellement en changeant 24 par une variable contenant le numéro de ligne...

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 3
    Par défaut
    Bonjour,

    Tout d'abord, merci pour ta réponse.

    En fait, si tu regardes bien le fichier, il y a des colonnes masquées et le mot "Creation" y figure (ici, en l'occurence au niveau de la colonne T).
    T est donc la dernère colonne et c'est pourquoi on insère/supprime l'avant dernière colonne.

    Mais je pensais que justement qu'après l'ajout ou la suppression, la formule somme se décalerait automatiquement jusqu'à l'avant dernière colonne sans avoir besoin de recourir à une macro...
    Du coup, je n'arrive pas à voir quel code je dois écrire pour que la fonction somme s'adapte automatiquement, en calculant la somme de la colonne D jusqu'à l'avant dernière colonne

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bizarre...
    Hier, j'ai testé et la macro me retournait 0 pour NoCol, d'où mon interrogation...
    J'ai dû faire une fausse manip (?)

    Quoiqu'il en soit, tes formules dans ce classeur, font la somme de D à J
    Si tu sélectionnes la plage J22:J73, puis "Copier" et, dans la même sélection, tu fais "Insérer les cellules copiées" ... vers la droite, tes formules deviendront une somme de D à K.
    Il resterait seulement à refaire la formule des années.

    Note que cette façon de faire fonctionnera pour certaines formules, mais pas toutes.
    Une RechercheV, disons, conserverait son indice de colonne, ce qui pourrait modifier le résultat escompté...

  5. #5
    Invité
    Invité(e)
    Par défaut Bonjour,
    en faisant ça tu insert ou tu supprime une colonne sans changer ta formule car elle inclus la colonne cible décalé 1 colonne vers la droite et la colonne la plus a droite +1 décalé de 1 vers la gauche
    Code formul Excel : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME(DECALER( C24;0;1):DECALER(W24;0;-1))
    Dernière modification par Invité ; 19/08/2014 à 13h13.

  6. #6
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 3
    Par défaut
    J'ai vérifié, sans doute une fausse manip oui.

    C'est vrai que ta méthode marche Parmi. Mais celle de rdurupt est plus facile à appliquer, c'est exactement celle qui me fallait

    Quoiqu'il en soit, merci à vous deux !

    Je vais essayer de réfléchir moi-même sur les autres problèmes que j'ai rencontré avec ce fichier.

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

Discussions similaires

  1. [JTable] Actualisation après ajout et suppression
    Par amola1992 dans le forum Composants
    Réponses: 6
    Dernier message: 29/07/2014, 00h36
  2. Empêcher la modification des formules après ajout de feuilles.
    Par jojo86 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 17/10/2009, 20h58
  3. Réponses: 14
    Dernier message: 16/12/2007, 16h01
  4. Réponses: 3
    Dernier message: 13/06/2005, 15h07
  5. Réponses: 6
    Dernier message: 11/10/2004, 16h43

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