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 :

formule,insertion de ligne et tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Par défaut formule,insertion de ligne et tableau
    Bonjour
    j ajoute une feuille en cliquant sur un bouton,cette feuille est la copie de la premiere "Main"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sur "Main" j ai un tableau qui est egale a des cellules : 
            Cells(271, "V").FormulaLocal = "=Main" & "!" & Worksheets("Main").Cells(6, "B").Address
            Cells(271, "W").FormulaLocal = "=Main" & "!" & Worksheets("Main").Cells(4, "Z").Address
            Cells(271, "AA").FormulaLocal = "=Main" & "!" & Worksheets("Main").Cells(266, "E").Address
            Cells(271, "AB").FormulaLocal = "=Main" & "!" & Worksheets("Main").Cells(266, "P").Address
            Cells(271, "AC").FormulaLocal = "=Main" & "!" & Worksheets("Main").Cells(266, "W").Address

    J aimerai que lorsque je copie les lignes precedentes de ce tableau restent les memes et juste ajouter une ligne avec les liens de nouvelles feuilles.

    ce sont ces liens ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Line = ActiveSheet.Cells(Rows.Count, "V").End(xlUp).Row + 1
     ActiveSheet.Cells(Rows.Count, "V").End(xlUp).Offset(1, 0).FormulaLocal = "=" & NewSh.Name & "!" & NewSh.Cells(6, "B").Address
            ActiveSheet.Cells(Rows.Count, "W").End(xlUp).Offset(1, 0).FormulaLocal = "=" & NewSh.Name & "!" & NewSh.Cells(4, "Z").Address
    ActiveSheet.Cells(Rows.Count, "X").End(xlUp).Offset(1, 0).FormulaLocal = "=" & NewSh.Name & "!" & NewSh.Cells(266, "E").Address
        ActiveSheet.Cells(Rows.Count, "Y").End(xlUp).Offset(1, 0).FormulaLocal = "=" & NewSh.Name & "!" & NewSh.Cells(266, "P").Address
        ActiveSheet.Cells(Rows.Count, "Z").End(xlUp).Offset(1, 0).FormulaLocal = "=" & NewSh.Name & "!" & NewSh.Cells(266, "W").Address
        If ActiveSheet.Range("W" & Line).Value = "AC" Then
            ActiveSheet.Cells(Rows.Count, "AA").End(xlUp).Offset(1, 0).Formula = "=AA" & Line - 1 & "+X" & Line
            ActiveSheet.Cells(Rows.Count, "AB").End(xlUp).Offset(1, 0).FormulaLocal = "=AB" & Line - 1 & "+Y" & Line
        End If
        If ActiveSheet.Range("W" & Line).Value = "EAC" Then
            ActiveSheet.Cells(Rows.Count, "AA").End(xlUp).Offset(1, 0).FormulaLocal = "=AA" & Line - 1
            ActiveSheet.Cells(Rows.Count, "AB").End(xlUp).Offset(1, 0).FormulaLocal = "=AB" & Line - 1 & "+Y" & Line
        End If
        ActiveSheet.Cells(Rows.Count, "AC").End(xlUp).Offset(1, 0).Select
        Selection.Style = "percent"
        ActiveSheet.Cells(Rows.Count, "AC").End(xlUp).Offset(1, 0).FormulaLocal = "=1-(AB" & Line & "/AA" & Line & ")"
    mais rien a faire lorsque je fais mon ajout je modifie tout .


    merci de votre aide

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range( ActiveSheet.Cells(Rows.Count, "V").End(xlUp).address).Offset(1, 0).FormulaLocal = "=" & NewSh.Name & "!" & NewSh.Cells(6, "B").Address
    Vite fait, pas testé...

  3. #3
    Membre éclairé Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Par défaut
    non desole ca marche pas ouskel'nor


    bien tente

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Bien sûr, tu dois mettre le N° de colonne et non pas "V"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range(ActiveSheet.Cells(Rows.Count, 22).End(xlUp).address
    Tu fais n'importe quoi !

  5. #5
    Membre éclairé Avatar de tomy7
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    540
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 540
    Par défaut
    en faite je viens de comprendre avec le pas a pas.

    mais je ne sais pas comment l ecrire.

    lorsqu il fait la copie il change les formules dans le tableau

    par exemple pour la cellule AA271 quand je suis sur main la bonne formule est :

    =Main!$E$266

    et des que je fais la copie cette formule se transforme en :
    =EAC1!$E$266 c est a dire le nom de la feuille deux alors que je voudrais que sa reste Main.


    une idee?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Par défaut
    non non le "V" et les autres fonctionnent tres bien je t'assure.

    ActiveSheet.Range(ActiveSheet.Cells(Rows.Count, 22 ou "V" ).End(xlUp).address....... , pour moi j ai la meme modification dans mon tableau avec ton code et le mien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Cells(Rows.Count, "W").End(xlUp).Offset(1, 0).FormulaLocal = "=" & NewSh.Name & "!" & NewSh.Cells(4, "Z").Address
    donc je pige pas

    peut etre plus explicite:


    tom.doc

    Edit : c est sur la nouvelle feuille que je veux ajouter la ligne.

    Désolé, plutôt une question... Où insères-tu la nouvelle feuille ? A la fin ou juste après 'Main' (qui est la première, je suppose).

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

Discussions similaires

  1. [XL-2003] VBA - Problème d'insertion de ligne avec copie de formules
    Par oracle7556 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/06/2010, 15h22
  2. Insertion de ligne : la formule ne suit pas entièrement
    Par Emilie L. dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/06/2010, 21h46
  3. [WD-2003] Insertion automatique de ligne dans tableau word après renvoi à la ligne
    Par melouille56 dans le forum VBA Word
    Réponses: 5
    Dernier message: 05/08/2009, 15h49
  4. [Prototype] Insertion de lignes dans un tableau
    Par rawsrc dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 17/12/2008, 13h20
  5. [Tableaux] Insertion dynamique ligne dans un tableau
    Par masseur dans le forum Langage
    Réponses: 12
    Dernier message: 28/03/2006, 14h53

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