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 :

Insérer ligne comme résultat d'une condition


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 16
    Points
    16
    Par défaut Insérer ligne comme résultat d'une condition
    Bonjour,

    Je souhaiterai récupérer dans un tableau de synthèse les lignes qui ont été saisies dans d’autres feuilles.

    J’ai déjà fait les conditions suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SI(ET('Feuil1'!D9="";'Feuil1'!E9="";'Feuil1'!F9="";'Feuil1'!G9="";'Feuil1'!H9="");"";'Feuil1'!A9&"  "&'Feuil1'!B9)
    La première me renvoi le libellé de ma ligne si dans celle-ci un chiffre a été saisi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SI(ET('Feuil1'!D10="";'Feuil1'!E10="";'Feuil1'!F10="";'Feuil1'!G10="";'Feuil1'!H10="");"";SOMME('Feuil1'!D10:H10))
    Celle-là me donne la somme de tous les chiffres saisies saisie dans chaque colonne de la même ligne.

    Pour l’instant pour avoir les lignes qui ont été saisis, je dois copié ces fonctions sur chaque ligne de mon tableau de synthèse. Mais du coup lorsque je ne saisit rien pour certaines lignes, j’ai du coup des lignes vides dans mon tableau de synthèse. Car j’ai copier la fonction au cas où il y aurait une sais. Du coup cela me donne autant de ligne que mon tableau original.
    Or je voudrais faire apparaître uniquement les lignes qui ont été saisies, et ne pas faire de la place pour les lignes qui serait supposément saisies.

    En espérant que l'on puisse m'aider.

    Par avance merci.

    Oyard.

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par oyard Voir le message
    J’ai déjà fait les conditions suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SI(ET('Feuil1'!D9="";'Feuil1'!E9="";'Feuil1'!F9="";'Feuil1'!G9="";'Feuil1'!H9="");"";'Feuil1'!A9&"  "&'Feuil1'!B9)
    Je te conseille plutôt de l'écrire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SI(CONCATENER('Feuil1'!D9:H9)="";"";'Feuil1'!A9&"  "&'Feuil1'!B9)
    Ca ne marche pas mieux mais c'est plus lisible.

    Or je voudrais faire apparaître uniquement les lignes qui ont été saisies, et ne pas faire de la place pour les lignes qui serait supposément saisies.
    En pure Excel, on ne peut pas faire apparaitre une fonction là où il n'y en a pas.

    La solution simple serait que, lorsque tu introduis de nouvelles données, tu tires un grand coup ta fonction pour la recopier vers le bas et tu supprimes les lignes surnuméraires.

    Sinon, il faut faire une macro VBA avec un gros bouton "Mise à Jour" (ou bien utiliser l'évènement Change de la feuille de calcul mais ça ralentirait considérablement l'utilisation).
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    Bonjour Loïc,

    merci pour ta réponse.
    Je vais tester ce que tu as écrit.
    Je pense que du VBA serait la solution car tiré et supprimé ce qui ne va pas me semble trop fastidieux.
    Penses tu que c'est compliqué un code VBA qui me permettrait de faire apparaitre seulement les lignes saisies de la condition indiquée plus haut ?

    Merci pour ton aide.

    Oyard.

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Si tu connais un peu le VBA, c'est pas très compliqué.

    Tu comptes le nombre de lignes saisies.
    Tu comptes le nombre de lignes résultat existantes.
    La différence te donne le nombre de ligne à ajouter (ou supprimer)
    Tu copies la dernière ligne (ou la première, c'est plus facile à attraper) ligne de résultat un nombre de fois équivalent à cette différence en commençant à la première ligne vide.

    A vue de nez, ça doit pouvoir se régler en une dizaine de lignes.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Merci pour ton indication. J'ai trouvé le code suivant pour insérer des lignes.
    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
    Sub Bouton1_Cliquer()
     
    Dim x
    Range("H3").Select
    x = ActiveCell.Value
    With Worksheets("Feuil1") Range("K:K")
    Set c = .Find(x, LookIn:=xlValues)
    If Not c Is Nothing Then
    firstAddress = c.Address
    End If
    End With
    Range(firstAddress).Select
    ActiveCell.Offset(1, 0).EntireRow.Insert
     
    End Sub
    Comme je ne suis pas très bon en macro, est ce que quelqu'un pourrait m'orienter pour faire un mix du code ci-dessous avec les conditions indiqué en début du post ?

    Merci bien.
    Cdt,

    Oyard.

  6. #6
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Il n'y a pas de mix à faire puisque ce code n'a aucun rapport avec ton problème.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    ah ok, et du coup pour répondre à mon problème ce serait quel type de code ?
    Un coup de pouce pour m'aider à démarrer, svp.

    merci,
    cdt.

    Oyard.

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    As tu essayé de conserver ta formule, Tirer et Trier les résultats tout simplement.

  9. #9
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par oyard Voir le message
    Un coup de pouce pour m'aider à démarrer, svp.
    Commencer par un tutoriel qui te permette d'acquérir les bases de VBA.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    @porruak : oui j'ai tirer ma formule et cela fonctionne. Mais le problème c'est que pour les lignes qui ne sont pas saisies dans les feuilles initiales, j'ai des lignes vides dans le tableau final. Penses tu que je dois définir des variables pour commencer mon vba ?

    @menhir : j'apprécie ta pédagogie et ton pragmatisme. Ton aide est précieuse merci infiniment.

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    As tu trier les résultats...

    Après le tri, en principe toutes les lignes devrait être soit en haut soit en bas.

  12. #12
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    lignes vides bien sur

  13. #13
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    Et si je mets un autofilter.
    J'ai fait celui là mais ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Act()
        Selection.AutoFilter Field:=1, Criteria1:="<>", Operator:=xlAnd
    End Sub

  14. #14
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    J'ai l'impression que depuis le début tu balances n'importe quel code sans prendre la peine de savoir ce qu'il contient dans l'espoir que quelqu'un fera ton travail à ta place.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  15. #15
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    Oui tout à fait, je prends des codes chopés au hasard, et j'attends qu'on me les corrige.

  16. #16
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    Ne passe pas par du VBA. Au vue de ton besoin le VBA est un peu trop luxueux.

    Avec une formule et un filtre tu devrais pouvoir arriver à tes fins.

  17. #17
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Le classeur joint répond-il aux besoins exprimés ?
    Cordialement
    Claude
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Produire une section CDATA comme résultat d'une transfo XSLT
    Par paquerette dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 09/04/2009, 14h22
  2. [MySQL] Recherche fonction donnant tableau d'une ligne du résultat d'une requête
    Par zakuli dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 09/02/2009, 18h56
  3. [MySQL] Condition en fonction des lignes de résultat d'une requête
    Par darkloy dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/09/2008, 23h01
  4. Traiter chaque ligne du résultat d'une commande
    Par 84mickael dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 26/02/2008, 14h30
  5. Compter les lignes du résultat d'une requete
    Par mfavier dans le forum ASP
    Réponses: 4
    Dernier message: 30/06/2006, 21h05

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