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

Conception Discussion :

Somme entre 2 cellules nommées


Sujet :

Conception

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ouvrier
    Inscrit en
    mars 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ouvrier

    Informations forums :
    Inscription : mars 2017
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Somme entre 2 cellules nommées
    Bonjour

    Je rencontre un problème dans un tableau Excel.

    Je souhaiterai additionner toute les valeurs qui se trouvent entre 2 cellules nommées (voir PJ)

    B3 nommée "total" et A2 nommée "COUT HORAIRE", pour qu'a chaque fois que j'insère une ligne entre ces 2 cellules la somme se fasse automatiquement

    dans mon tableau original il peut y avoir 0 ligne comme 10 lignes

    Merci pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    janvier 2010
    Messages
    10 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : janvier 2010
    Messages : 10 660
    Points : 25 461
    Points
    25 461
    Billets dans le blog
    32
    Par défaut
    Bonjour,
    Je n'ouvre pas les fichiers joints, je ne peux donc pas voir la manière dont vos données sont organisées mais à la lecture de vos explications, je ne peux que vous conseiller le passage aux tableaux structurer.

    La lecture de ce tutoriel Apprendre à utiliser les tableaux structurés Excel : création, manipulations et avantages(1), vous en apprendra plus
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Ma dernière contribution : VBA - Les macros complémentaires

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ouvrier
    Inscrit en
    mars 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ouvrier

    Informations forums :
    Inscription : mars 2017
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Je n'ouvre pas les fichiers joints, je ne peux donc pas voir la manière dont vos données sont organisées mais à la lecture de vos explications, je ne peux que vous conseiller le passage aux tableaux structurer.

    La lecture de ce tutoriel Apprendre à utiliser les tableaux structurés Excel : création, manipulations et avantages(1), vous en apprendra plus
    J'ai déjà lu ce tuto mais je n'y arrive pas ça ne marche
    Dans l'outil de création l'option " lignes totales" est grisée et je n'arrive pas à convertir le tableau.
    Mais merci pour votre aide

  4. #4
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    juillet 2016
    Messages
    2 861
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : juillet 2016
    Messages : 2 861
    Points : 4 970
    Points
    4 970
    Par défaut
    Bonjour,

    Faire ce que vous désirez avec une simple formule n'est pas possible car si aucune ligne n'est insérée, le total se trouvant en ligne 3 ne peut être la somme des cellules après la ligne 2 et les cellules de la ligne au-dessus de la ligne "Total".
    Pour ceux qui n'ouvrent pas les pièces jointes, voici l'image de la demande
    Pièce jointe 583510

    Avec 2 boutons sur la feuille "Ajouter une ligne" et ""Supprimer une ligne" liés à un code VBA, tout cela devient possible.
    Pièce jointe 583511

    le code associé
    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
    22
    23
    24
    25
    26
    27
    28
    29
    Option Compare Text
     
    Sub Ajouter_Ligne()
        Dim x As Range
        Application.ScreenUpdating = False
        Set x = Columns(1).Find("TOTAL")
        If Not x Is Nothing Then
            Range(Cells(x.Row, "A"), Cells(x.Row, "B")).Insert Shift:=xlDown
            Cells(x.Row, "B").FormulaR1C1 = "=SUM(R3C1:R" & x.Row - 1 & "C)"
        Else
            Cells(x.Row, "B") = 0
        End If
    End Sub
     
    Sub Supprimer_Ligne()
        Dim x As Range
        Dim Lig As Long
        Application.ScreenUpdating = False
        Set x = Columns(1).Find("TOTAL")
        If Not x Is Nothing And x.Row > 3 Then
            Range(Cells(x.Row - 1, "A"), Cells(x.Row - 1, "B")).Delete Shift:=xlUp
            Lig = x.Row
            If Lig > 3 Then
                Cells(Lig, "B").FormulaR1C1 = "=SUM(R3C1:R" & Lig - 1 & "C)"
            Else
                Cells(Lig, "B") = 0
            End If
        End If
    End Sub
    Cdlt

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ouvrier
    Inscrit en
    mars 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ouvrier

    Informations forums :
    Inscription : mars 2017
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Bonjour merci pour votre réponse.
    Cependant pour moi c'est assez compliqué. Pourriez vous m'aider avec le fichier original ci-joint
    A savoir que votre formule s'appliquerai pour le sous total 2 et le sous total 3
    Merci beaucoup
    Fichiers attachés Fichiers attachés

  6. #6
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    juillet 2016
    Messages
    2 861
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : juillet 2016
    Messages : 2 861
    Points : 4 970
    Points
    4 970
    Par défaut
    Essayez ceci
    Pièce jointe 583543

    Le code
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Option Compare Text
        Dim x As Range, y As Range
        Dim Lig As Long
     
    Sub Bouton_Ajouter_un_Process()
        Application.ScreenUpdating = False
        Set x = Columns(1).Find("Sous Total 2")
        If Not x Is Nothing Then
            Range(Cells(x.Row, "A"), Cells(x.Row, "G")).Insert Shift:=xlDown
            Range(Cells(x.Row - 1, "B"), Cells(x.Row - 1, "D")).MergeCells = True
            Range(Cells(x.Row - 1, "E"), Cells(x.Row - 1, "G")).MergeCells = True
        End If
        Cells(x.Row, "E").FormulaR1C1 = "=IFERROR(SUM(R14C:R" & x.Row - 1 & "C),"""")"
    End Sub
     
    Sub Bouton_Supprimer_un_Process()
        Application.ScreenUpdating = False
        Set x = Columns(1).Find("Sous Total 2")
        If Not x Is Nothing And x.Row > 14 Then
            Range(Cells(x.Row - 1, "A"), Cells(x.Row - 1, "G")).Delete Shift:=xlUp
            Lig = x.Row
            If Lig > 14 Then Cells(Lig, "E").FormulaR1C1 = "=IFERROR(SUM(R14C5:R" & Lig - 1 & "C5),"""")"
        End If
    End Sub
     
    Sub Bouton_Ajouter_un_Outillage()
        Application.ScreenUpdating = False
        Set y = Columns(1).Find("Type", lookat:=xlWhole)
        Set x = Columns(1).Find("Sous Total 3")
        If Not x Is Nothing Then
            Range(Cells(x.Row, "A"), Cells(x.Row, "G")).Insert Shift:=xlDown
            Range(Cells(x.Row - 1, "B"), Cells(x.Row - 1, "D")).MergeCells = True
            Range(Cells(x.Row - 1, "E"), Cells(x.Row - 1, "G")).MergeCells = True
        End If
        Cells(x.Row, "E").FormulaR1C1 = "=IFERROR(SUM(R" & y.Row + 1 & "C:R" & x.Row - 1 & "C),"""")"
    End Sub
     
    Sub Bouton_Supprimer_un_Outillage()
        Application.ScreenUpdating = False
        Set y = Columns(1).Find("Type", lookat:=xlWhole)
        Set x = Columns(1).Find("Sous Total 3")
        If Not x Is Nothing And x.Row > y.Row + 1 Then
            Range(Cells(x.Row - 1, "A"), Cells(x.Row - 1, "G")).Delete Shift:=xlUp
            Lig = x.Row
            If Lig > y.Row Then Cells(Lig, "E").FormulaR1C1 = "=IFERROR(SUM(R" & y.Row + 1 & "C5:R" & Lig - 1 & "C5),"""")"
        End If
    End Sub
    Cdlt

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    novembre 2003
    Messages
    17 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 17 407
    Points : 50 322
    Points
    50 322
    Billets dans le blog
    92
    Par défaut
    Salut.

    Je pense comme Philippe (Merci d'avoir référencé mon tuto ) qu'un tableau structuré pourrait probablement t'aider.

    Cela dit, pour avoir la somme des cellules entre deux cellules nommées, tu pourrais utiliser DECALER.

    B3 nommée Début, B4 nommée Fin. Voici la formule avec DECALER.

    Nom : 2020-11-11_211803.png
Affichages : 23
Taille : 6,1 Ko

    L'insertion de lignes va déplacer Fin vers le bas

    Nom : 2020-11-11_211857.png
Affichages : 21
Taille : 12,2 Ko

    Nom : 2020-11-11_211933.png
Affichages : 20
Taille : 10,6 Ko

    Nom : 2020-11-11_212006.png
Affichages : 21
Taille : 8,6 Ko
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. Problème de somme avec une cellule nommée.
    Par Kertho dans le forum Excel
    Réponses: 2
    Dernier message: 25/02/2020, 11h19
  2. Selection de cellules entre 2 cellules nommées
    Par alex63400 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/01/2017, 18h40
  3. [XL-2013] Automatiser "tirer formule" avec une somme() entre les cellules
    Par Jabbabi dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/04/2015, 12h01
  4. [XL-2007] supprimer des lignes entre 2 cellules nommées
    Par croky23 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 22/04/2009, 19h01

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