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

Excel Discussion :

Recopie ancienne formule lors de l'insertion d'une ligne dans un tableau [Toutes versions]


Sujet :

Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Octobre 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2015
    Messages : 13
    Par défaut Recopie ancienne formule lors de l'insertion d'une ligne dans un tableau
    Bonjour,

    Je me permets de solliciter votre aider au sujet de mon fichier en pièce jointe.

    J'ai créé dans la feuille "Weekly Programme" un tableau nommé "Weekly_programme" ($A$11:$K$31) via l'onglet INSERER. Ce tableau dispose de plusieures MFC et formules.

    J'ai créée deux boutons derrière lesquels se cachent des macros pour ajouter ou supprimer des lignes de mon tableau. Lors de l'insertion d'une ligne, la MFC ainsi que les formules sont censées se recopier sur les lignes ajoutées, mais non!
    Mon problème est que lorsque cette ligne est ajoutée, la MFC se copie bien mais selon la colonne la formule recopiée n'est pas la bonne:[*]Colonne F et I, pas de problème.[*]Colonne E et K: les formules recopiées sont celles d'une ancienne version de mon tableau (les formules ont évolué).

    Dans la pièce jointe vous verrez que j'ai ajouté la ligne 19 et que les formules des colonnes E et K ne correspondent pas à celles des autres lignes. D'ailleurs l'ancienne formule va chercher une données dans un onglet inexistant.

    J'ai fouillé dans toutes les options, recopié la feuille dans un autre classeur, redémarré Excel puis mon pc, rien n'y fait, ça me recopie toujours les anciennes formules lorsque j'insère une nouvelle ligne. Il en est d'ailleurs de même lorsque j'insère une ligne via clic droit / Insérer ligne...

    Vous remerciant par avance, car je commence à m'arracher les cheveux là-dessus
    Fichiers attachés Fichiers attachés

  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,

    je n'ouvre pas les fichiers avec macros...
    Peux-tu donner le code que tu utilises pour insérer une ligne ?
    Si tu fais un copier/coller de la ligne précédente, est-ce que les formules suivent correctement ?

  3. #3
    Membre habitué
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Octobre 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2015
    Messages : 13
    Par défaut
    Bonjour,

    Le code pour ajouter une ligne est le suivant:

    Sub ajouter_ligne()
    Dim v As Integer, i As Integer
    ActiveSheet.Unprotect
    Application.ScreenUpdating = False
    On Error GoTo abandon
    ligne = InputBox("After which row would you like to insert new row?", "N° Ligne")
    v = InputBox( _
    Prompt:="How many rows would you like to insert?")
    ligne = ligne - 10
    If v > 0 Then
    For i = 1 To v
    Selection.ListObject.ListRows.Add (ligne)
    Next i
    End If
    abandon:
    Exit Sub
    ActiveSheet.Protect
    Application.ScreenUpdating = True
    End Sub

    J'envoie en pj le fichier sans macro pour que tu aies une idée du fichier.

    Oui, si je copie manuellement la ligne précédente les formules sont les bonnes.

    Cordialement,
    Fichiers attachés Fichiers attachés

  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
    Essaie comme ceci
    À mettre dans un module
    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
    18
    19
    20
    21
    Sub ajouter_ligne()
        Dim v As Integer, i As Integer, Ligne As Long
     
        ActiveSheet.Unprotect
        Application.ScreenUpdating = False
     
        On Error GoTo abandon
     
        Ligne = InputBox("After which row would you like to insert new row?", "N° Ligne")
        v = InputBox(Prompt:="How many rows would you like to insert?")
     
        If v > 0 Then
            Rows(Ligne + 1 & ":" & Ligne + v).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        End If
     
     
    abandon:
        ActiveSheet.Protect
        Application.ScreenUpdating = True
        Exit Sub
    End Sub

    PS: quand tu mets du code, utilise le bouton # pour encadrer ton code et le rendre lisible comme je viens de faire...

  5. #5
    Membre habitué
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Octobre 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2015
    Messages : 13
    Par défaut
    ah ok au temps pour moi, c'est noté pour la mise en forme lors de l'insertion de code. Merci pour l'info.

    Bon, par contre, aucun changement avec ton code...
    merci quand même

  6. #6
    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
    Citation Envoyé par korben8 Voir le message
    ah ok au temps pour moi, c'est noté pour la mise en forme lors de l'insertion de code. Merci pour l'info.

    Bon, par contre, aucun changement avec ton code...
    merci quand même
    Qu'entends-tu par aucun changement ?
    Ça ne fonctionne pas ?
    Si c'est le cas, as-tu copié le code dans un module standard (pas dans la feuille) ?

  7. #7
    Membre habitué
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Octobre 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2015
    Messages : 13
    Par défaut
    Je veux dire que le problème est toujours présent.
    J'ai remplacé mon code par le tien dans le module.

  8. #8
    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
    C'est peut-être dû aux liaisons externes.
    Va dans l'onglet Données > Modifier les liens > Rompre les liaisons

  9. #9
    Membre habitué
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Octobre 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2015
    Messages : 13
    Par défaut
    Bon, je me suis énervé dans tous les sens et j'ai tenté la seule chose que je n'avais pas faite avant: passer le tableau en table ( via l'onglet Création puis Convertir en plage) et ensuite j'ai repassé la table en tableau. Et puis maintenance tout fonctionne. Je n'ai toujours pas compris pourquoi mais ça fonctionne.

    Problème résolu.

    Merci.

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

Discussions similaires

  1. [XL-2007] Insertion d'une ligne dans un tableau protégé
    Par Barbenault dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/07/2014, 12h43
  2. [MySQL] Erreur lors de l'insertion d'une image dans un tableau
    Par bigwade dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 16/05/2013, 15h24
  3. [XL-2003] Lors de l'insertion d'une ligne ne pas modifier les lignes de calcul
    Par peofofo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/02/2010, 00h18
  4. Ajax : insertion d'une ligne dans un tableau
    Par Flackou dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 26/05/2008, 13h50
  5. Réponses: 2
    Dernier message: 15/11/2007, 17h43

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