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 :

Ajout de ligne sous condition avec reprise de données [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Juillet 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 62
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2015
    Messages : 27
    Points : 20
    Points
    20
    Par défaut Ajout de ligne sous condition avec reprise de données
    Bonjour,
    Voici mon casse tête, j'aimerai ajouter des lignes dans mon fichier (joint) selon les conditions suivantes :

    - ajouter des lignes à chaque changement de cellule dans la colonne "B", le nombre de ligne à ajouter dépend du nombre de cellule identique dans la colonne "B" avant que celle-ci ne change de données
    - puis dans cet ajout de lignes reprendre les données des lignes concernées avant le changement dans la colonne "B" exceptée la données de la colonne "C"

    Voir exemple manuelle dans les premières lignes de mon fichier joint.

    Merci encore pour toute l'aide que vous pourrez m'apporter.
    HeléaTEST 2 Héléa.xlsx

  2. #2
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut

    Dans un premier temps je te conseillerais d'utiliser un tableau (Onglet Insertion puis Tableau)(Attention de bien afficher toutes les ligne du tableau avant de lancer sa création ou alors de penser à changer manuellement l'adresse), ça te facilitera grandement la tache au niveau du développement de ton code.
    N'oublie pas de renommer ton tableau pour pouvoir y faire référence plus facilement dans ton code.

    Tu auras besoin de boucler sur les cellules de ton tableau, étant donné que tu vas devoir ajouter des lignes il vaudrait mieux adopter une boucle For Next

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim x as integer
    with Feuil1.ListObjects("NomDuTableau")
     
        '.... suite du code
        For x = 1 to .listrows.count
            '
        next
    End if
    N'hésite pas une fois ton code entamé à revenir si tu bloques.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre à l'essai
    Femme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Juillet 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 62
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2015
    Messages : 27
    Points : 20
    Points
    20
    Par défaut Problème sur macro
    Bonsoir Quazerty,
    Tout d'abord merci pour l'aide que tu m'apportes.
    Je rencontre un problème lorsque je lance ma macro, me message d'erreur indique "Erreur de compilation: instruction incorrecte à l'extérieur d'une procédure" et surligne cette ligne :
    With Feuil1.ListObjects("TableauHelea")
    Vois-tu le problème ?
    voici la macro complète que j'ai formulé suite à ton message :
    '
    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
     
    ' Helea Macro
    ' Ajouter des lignes
    '
    ' Touche de raccourci du clavier: Ctrl+Maj+P
    '
     
    Dim x As Integer
    With Feuil1.ListObjects("TableauHelea")
     
        '.... suite du code
        For x = 1 To .ListRows.Count
            '
        Next
    End If

  4. #4
    Membre actif Avatar de Denis la Malice
    Homme Profil pro
    FabManager
    Inscrit en
    Février 2013
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : FabManager
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2013
    Messages : 133
    Points : 287
    Points
    287
    Par défaut
    Bonjour,

    une macro commence par Sub et se termine par End Sub.

    Toutes les instructions doivent se trouver entre le début et la fin de la macro. En dehors de la macro : pas d'instructions, uniquement des déclarations globales (en gros : option, dim ou const).

    Dans l'exemple que tu donnes, il n'y a ni Sub ni End Sub, alors c'est dur de deviner où ils sont.
    De la réflexion, naît l'action ...

  5. #5
    Membre à l'essai
    Femme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Juillet 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 62
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2015
    Messages : 27
    Points : 20
    Points
    20
    Par défaut Précision
    Bonjour Denis la malice,

    En reformulant la macro avec Sub et End Sud, j'obtiens encore une erreur liée à la ligne "End If" (Erreur de compilation: End If sans bloc If)
    Merci pour votre aide.

    Voici le texte de la macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Helea()
     
     
    Dim x As Integer
    With Feuil1.ListObjects("TableauHelea")
     
        '.... suite du code
        For x = 1 To .ListRows.Count
            '
        Next
    End If
     
    End Sub

  6. #6
    Membre éclairé
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Points : 684
    Points
    684
    Par défaut
    Bonjour,

    Peux tu envoyer ton code entièrement stp en ajoutant les balises [CODE]

    C'est normal car tu as un end if ce qui implique un if un peu plus au:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If '.....
    '....
    end if
    de même il y a un with donc il y aura un end with:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    with '.......
    '.....
    end with
    Merci de cliquer sur pour chaque message vous ayant aidé
    puis sur pour clore cette discussion …

    C'est en récoltant les cailloux qu'on te jette que tu construiras ta future estrade...

  7. #7
    Membre à l'essai
    Femme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Juillet 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 62
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2015
    Messages : 27
    Points : 20
    Points
    20
    Par défaut Merci
    Merci à tous.
    J'ai résolu mon problème
    Bonne fin de journée.

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

Discussions similaires

  1. [XL-2010] copier coller des lignes sous condition avec un changement de texte sur la ligne copiée.
    Par a.ouguerzam dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/11/2014, 16h48
  2. [XL-2010] Ajout de lignes sous conditions
    Par pheonix00fr dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 09/12/2011, 12h57
  3. Suppression des lignes sous condition multiple
    Par baptbapt dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/06/2007, 16h23
  4. Ajouter 1 ligne à un tableau avec rowspan & colspan
    Par softflower dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/11/2006, 22h35
  5. ajout et mise à jour conditionés avec T-SQL
    Par monsurf dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/05/2006, 15h59

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