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 :

Code pour répartir une ligne sur 2 [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut Code pour répartir une ligne sur 2
    Bonjour
    Je sollicite votre aide pour arriver à ce que je voudrai obtenir par Vba, je suis nul à ce sujet

    A partir de la feuille Base
    Pièce jointe 373253

    Sur la feuille Visite
    Pièce jointe 373256

    En vous remerciant

  2. #2
    Membre émérite
    Homme Profil pro
    Responsable des études(en disponibilité)
    Inscrit en
    Juin 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études(en disponibilité)
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 367
    Par défaut
    une proposition "à compléter".

    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
    Sub jean20()
    DerniereLigne = Cells(Columns(1).Cells.Count, 1).End(xlUp).Row
    Sheets("visite").Cells.Clear
    '''''''''''''''''''''''''''
    Sheets("base").Range("A1").Copy Sheets("visite").Range("A1")
    Sheets("visite").Range("A1").Value = Sheets("base").Range("A1").Value & Chr(10) & Sheets("base").Range("J1").Value
    '' autres entétes
    lignevisite = 2
    For ligne = 2 To DerniereLigne
    ''''''''''''''''''
    Sheets("base").Cells(2, 1).Copy Sheets("visite").Cells(lignevisite, 1)
    Sheets("visite").Cells(lignevisite, 1).Value = Sheets("base").Cells(ligne, 1).Value
    Sheets("base").Cells(3, 1).Copy Sheets("visite").Cells(lignevisite + 1, 1)
    Sheets("visite").Cells(lignevisite + 1, 1).Value = Sheets("base").Cells(ligne, 10).Value
    '' autres lignes
    lignevisite = lignevisite + 2
    Next ligne
    End Sub

  3. #3
    Expert éminent 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
    Par défaut
    Ca peut être fait sans VBA.

    En supposant que ta cellule "Nom" soit A1.
    En supposant que tes données sources sont dans l'onglet "source" et le résultat dans l'onglet "dest".

    Dans l'onglet "dest",

    Mettre en A2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(source!A$2;(LIGNE()-LIGNE(A$2)/2;0)
    Copier A2 en B2

    Mettre en C2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(source!F$2;(LIGNE()-LIGNE(C$2)/2;0)
    Copier C2 en D2

    Mettre en A3 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(source!J$2;(LIGNE()-LIGNE(A$3)/2;0)
    Copier A3 en B3:D3.

    Copier A2:D3 vers le bas autant que nécessaire.

  4. #4
    Membre émérite
    Homme Profil pro
    Responsable des études(en disponibilité)
    Inscrit en
    Juin 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études(en disponibilité)
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 367
    Par défaut
    Bonjour
    Je me trompe sans doute
    je crois qu'il manque une parenthèse après le 2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(source!A$2;(LIGNE()-LIGNE(A$2)/2);0)

  5. #5
    Expert éminent 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
    Par défaut
    En fait, il manque une parenthèse après le second LIGNE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(source!A$2;(LIGNE()-LIGNE(A$2))/2;0)
    idem pour les trois formules.

  6. #6
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Bonjour a_diard, Menhir
    Je vous remercie de donner suite à ma demande, toutefois, le code Vba ne va pas
    Pour les formules, la base comportant de 200 à 300 lignes voir plus, je m'interroge
    Je vous mets le classeur pour test
    En vous remerciant

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

Discussions similaires

  1. [XL-2007] Probléme pour séléctionner une ligne sur trois dans une colonne
    Par ro31hg dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/02/2010, 20h48
  2. code java pour modifier une ligne dans un fichier txt
    Par pacomou dans le forum Général Java
    Réponses: 1
    Dernier message: 03/09/2009, 15h23
  3. Commande pour afficher une ligne sur 2
    Par toxycyty dans le forum Linux
    Réponses: 2
    Dernier message: 08/10/2008, 15h30
  4. Code pour backgrounder une ligne <tr>
    Par whitespirit dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/04/2008, 15h12
  5. code pour rendre une ligne du gridview en mode edit
    Par mapmip dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/04/2008, 13h31

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