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 :

glisser une formule en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    technicien BE
    Inscrit en
    Juin 2016
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : technicien BE

    Informations forums :
    Inscription : Juin 2016
    Messages : 50
    Par défaut glisser une formule en VBA
    Bonjour,

    Je suis en train d'automatiser un tableau Excel pour insérer des lignes.
    Je bute sur une chose.

    J'ai des formules dans certaines cellules que j'aimerais avoir dans la nouvelle ligne.
    par exemple dans la cellule AA tel ligne j'ai cette formule: =STXT(B tel ligne;5;13)

    Ce que j'aimerais, c'est que quand je crée la ligne quelque soit la ligne (sauf 2 bien sûr) ça copie la formule du dessus mais avec le bon tel ligne.

    En clair si je crée une ligne en 5, il reprend la formule dans AA4 (=STXT(B4;5;13)) mais la transforme en =STXT(B5;5;13)

    J'espère être assez clair.

    Merci de votre aide.

    Florent

  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
    la demande n'est pas bien claire au moins pour moi
    mais si j'ai bien compris il suffit d’insérer un tableau structuré, les formules sont applicables automatiquement pour toutes les lignes même en cas d'évolution des données
    donc il suffit de sélectionner toutes les données puis onglet insertion puis tableau
    si ce n'est pas ce que tu cherches ...revenir avec un exemple et/ou une simulation du résultat attendu

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 501
    Par défaut
    Salut,

    Passe par des tableaux structurés, ils font cela en natif
    (en plus d'être autrement plus versatile qu'une plage de cellules quelconque).

  4. #4
    Membre confirmé
    Homme Profil pro
    technicien BE
    Inscrit en
    Juin 2016
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : technicien BE

    Informations forums :
    Inscription : Juin 2016
    Messages : 50
    Par défaut
    Pour être plus clair, j'ai ultra simplifié le tableau pour vous le montrer.... Oui ok en faite j'ai tout viré sauf une formule.

    Pour faire simple sur mon exemple, lorsque je clique sur la ligne au dessus de laquelle je souhaite créer la nouvelle, tout fonctionne nickel.
    Ce qu'il me manque c'est la réécriture de la formule colonne G.

    j'espère que c'est plus clair avec le tableau.
    Fichiers attachés Fichiers attachés

  5. #5
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 157
    Par défaut
    Hello,

    comme proposé par deedolith, un tableau structurés suffit.
    Si vous transformez votre exemple via le bouton "Mettre sous forme de tableau" et que vous modifiez la formule =STXT(A2;6;6) en =STXT([@N°Affaire];6;6) pas besoin d'autre chose

    la macro devient alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub New_line()
     
        Rows(ActiveCell.Row + 1).Insert Shift:=xlDown
        Rows(ActiveCell.Row + 1).Select
     
    End Sub
    D'ailleurs y'a t'il besoin d'une macro pour insérer une ligne ?

    Quand à l'enregistrement automatique toutes les 2 minutes, j'aime vraiment pas, surtout en mode développement, tout en sachant que Excel fait un enregistrement pour "au cas où"

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 501
    Par défaut
    Citation Envoyé par Nain porte koi Voir le message
    Quand à l'enregistrement automatique toutes les 2 minutes, j'aime vraiment pas, surtout en mode développement, tout en sachant que Excel fait un enregistrement pour "au cas où"
    Sauf erreur de ma part, il me semble qu'Office 365 propose se genre d'option.

  7. #7
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 157
    Par défaut
    Citation Envoyé par deedolith Voir le message
    Sauf erreur de ma part, il me semble qu'Office 365 propose se genre d'option.
    Tout a fait
    Pièce jointe 657783
    et l'avantage c'est qu'on peut quand même garder la version actuelle, l'enregistrement auto est un enregistrement à part qui est récupéré en cas de crash, et Excel propose de le conserver ou de rester sur la version qui avait été enregistré par l'utilisateur.
    Il me semblait que cette option était déjà présente dans 2016, mais c'est peut-être 2019... ou alors je me trompe

  8. #8
    Membre confirmé
    Homme Profil pro
    technicien BE
    Inscrit en
    Juin 2016
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : technicien BE

    Informations forums :
    Inscription : Juin 2016
    Messages : 50
    Par défaut
    Bonjour,

    je sais bien qu'il y a plus simple pour créer une ligne sauf que j'ai une pagination a faire sur certaines cellules et pour pas me prendre la tête a chaque création je fait tout en macro.

    Concernant la formule =STXT([@N°Affaire];6;6), quand je la créer j'ai ce message:
    Pièce jointe 657819

    Je ne comprend pas ce qui est bloque.

  9. #9
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 157
    Par défaut
    Re,

    la pièce jointe n'est pas lisible et en fait votre fichier serait plus utile

  10. #10
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 554
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 554
    Par défaut
    Bonjour à tous

    Citation Envoyé par Florent6744 Voir le message
    Bonjour,

    je sais bien qu'il y a plus simple pour créer une ligne sauf que j'ai une pagination a faire sur certaines cellules et pour pas me prendre la tête a chaque création je fait tout en macro.
    Donc tu réinventes l'eau tiède dans Excel avec du VBA forcément beaucoup moins efficace que ce qui est natif...

  11. #11
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 157
    Par défaut
    Citation Envoyé par 78chris Voir le message
    ... moins efficace que ce qui est natif...
    Chouette un AMIS

Discussions similaires

  1. Insérer une formule par VBA
    Par Carmiel dans le forum Excel
    Réponses: 7
    Dernier message: 13/12/2016, 21h55
  2. [XL-2002] Problème de syntaxe sur une formule dans VBA
    Par beber_le_stagiaire dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/06/2009, 15h32
  3. [VBA-E] ecrire une formule en vba
    Par Huubb dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/01/2007, 14h15
  4. Paramétrer une formule en vba
    Par arnogef dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/08/2006, 11h48
  5. Copier une formule avec vba
    Par NAMORJOSE dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/05/2006, 00h12

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