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 :

Décalage de lignes


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2019
    Messages : 7
    Points : 8
    Points
    8
    Par défaut Décalage de lignes
    Bonjour à tous,

    Je souhaite faire une macro qui "décale" les lignes d'une feuilles.
    Voilà ce que j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    m = 17
    While m > 15
                        Rows(m) = Rows(m - 1)
                        m = m - 1
     
    Wend
    Le problème ici est que, plutôt que le recopier la ligne m-1 sur la ligne m, la ligne m devient vide.

    Si quelqu'un a une piste sur la cause du problème ou encore une solution.

    Merci.

  2. #2
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour Baptiste, bonjour le forum,

    Il me semble qu'en insérant une ligne vide avant la ligne 17 tu obtiendrais le résultat voulu non ?
    À plus,

    Thauthème

    Je suis Charlie

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2019
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Bonjour Thautheme,

    Je ne peux malheureusement pas modifier la structure de la feuille.
    Inserer des lignes m'est donc impossible.

    Je ne peux pas non plus utiliser les fonctions ClearContents, ni Cut/Copy/Paste car sur les lignes sont présentes des cases fusionnées.

  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
    Citation Envoyé par Baptiste V Voir le message
    Je souhaite faire une macro qui "décale" les lignes d'une feuilles.
    Citation Envoyé par Baptiste V Voir le message
    Inserer des lignes m'est donc impossible.
    Comment veux-tu "décaler" une ligne sans en insérer une autre ???

    A moins que ton besoin soit de copier la colonne (m-1) en m et de vider (m-1).
    Dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Rows(m - 1).Copy
    Rows(m).PasteSpecial 
    Rows(m - 1).ClearContents
    Je ne peux pas non plus utiliser les fonctions ClearContents, ni Cut/Copy/Paste car sur les lignes sont présentes des cases fusionnées.
    Les cellules fusionnées, c'est une véritable plaie dans Excel et encore plus en VBA.
    Si ce sont des fusions horizontales, il est possible de s'en passer en utilisant le centrage sur plusieurs colonnes, bien plus simple à gérer.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    voilà une étrange gymnastique dont le résultat ne serait en rien différent de celui que l'on obtiendrait par la simple insertion d'une ligne tout en haut de la plage à traiter !
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  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
    Citation Envoyé par unparia Voir le message
    voilà une étrange gymnastique dont le résultat ne serait en rien différent de celui que l'on obtiendrait par la simple insertion d'une ligne tout en haut de la plage à traiter !
    La différence, c'est qu'avec ce code, la ligne (m+1) ne bouge pas, contrairement à une insertion.

    Cela dit, la demande n'étant pas claire, difficile de comprendre ce que le demandeur souhaite réellement.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2019
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Cela dit, la demande n'étant pas claire, difficile de comprendre ce que le demandeur souhaite réellement.
    Je conçois que cela n'est pas très clair.

    Voyez plutôt :
    Nom : 2019-11-07 12_43_18-Window.jpg
Affichages : 429
Taille : 23,4 Ko
    Je souhaite alors obtenir
    Nom : 2019-11-07 12_43_18-Window.jpg
Affichages : 450
Taille : 23,9 Ko
    Images attachées Images attachées  

  8. #8
    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
    Je conçois que cela n'est pas très clair.
    Et ces deux images sans commentaires, ça te semble clair ?

    Bin, en supposant que "Indice" est la colonne B :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("B16:G16").Copy Range("B17")
    Range("B15:G15").Copy Range("B16")
    Si c'est pas ça, c'est que ça n'est toujours pas clair.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  9. #9
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    Citation Envoyé par Baptiste V Voir le message
    [...]
    Je souhaite faire une macro qui "décale" les lignes d'une feuilles.[...]
    Citation Envoyé par Baptiste V Voir le message
    [...]
    Je ne peux malheureusement pas modifier la structure de la feuille.[...]
    ===>>> MISSION IMPOSSIBLE!
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    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...
    ---------------

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/06/2008, 08h50
  2. Réponses: 1
    Dernier message: 14/02/2008, 10h11
  3. décalage de lignes
    Par okazou dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 22/11/2006, 17h49
  4. [Curses] décalage de lignes
    Par Goundy dans le forum C
    Réponses: 7
    Dernier message: 01/06/2006, 19h28
  5. pb de décalag de lignes dans un fichier
    Par xave dans le forum Langage
    Réponses: 2
    Dernier message: 20/09/2005, 16h32

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