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 :

Copier et grouper cellules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Copier et grouper cellules
    Bonjour le forum,

    J'ai une colonne A de la Feuil1 d'un classeur que je souhaite coller en Feuil2.
    Dans cette colonne, les cellules sont fusionnées par groupe de 6.
    Lors de la copie celle-ci sont défusionnées, mais ils reste des cellules vides entre elles. J'aimerai que la les caractères des cellules se copient les uns à la suite des autres.
    J'ai mis un exemple avec en Feuil2 ce que j'obtiens et en feuille 3 ce que j'aimerai. Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton1_Click()
    Application.EnableEvents = False
     
            With Sheets("Feuil1")
             Sheets("Feuil1").Range("A:A").Copy
             Sheets("Feuil2").Range("A:A").PasteSpecial Paste:=xlValues
          End With
    Application.EnableEvents = True
    End Sub
    Pensez-vous que ça soit possible ?
    Merci à vous,

    Cdlt
    aure_8
    Fichiers attachés Fichiers attachés

  2. #2
    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
    Comme je le dis souvent, les fusions de cellules, c'est vraiment la plaie, surtout pour les copies.

    Tu pourrais, après la copie, éliminer les cinq lignes vides surnuméraires, mais le plus simple est, à mon avis, de te contenter d'un transfert de valeurs (ce qui, en plus, est plus rapide qu'une copie).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dim Var1 as Integer, VarNb as integer
     
    VarNb = XXXX    ' Indiquer là le nombre de cellules à transférer
     
    For Var1=1 to VarNb
       Sheets("Feuil2").cells(1,Var1+1).Value = Sheets("Feuil1").cells(1,Var1*6-4).Value
    Next Var1
    Tu remplaces bien sur le XXXX par le nombre de ligne à traiter.
    Avec ce code, inutile de "dé-fusionner" les cellules de ta feuille 1.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut Menhir,

    J'ai une macro qui après la copie supprime les 5 lignes vides. L'ennui c'est que dans les colonnes d’à côté j'ai des formules et la suppression des lignes me chamboule tout ça.
    Merci pour ton code, mais je ne comprends pas, rien ne se passe quand je clique sur le bouton. J'ai mis 80 lignes pour commencer. Est-ce trop lourd à gérer ?

    Merci pour ton aide !

    Cdlt
    aure_8

  4. #4
    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
    J'ai déjà fait des traitements sur 16 000 lignes donc 80 ne risque pas de poser un problème.
    Je pense plutôt que ça vient de la formule Var1*6-4 qui doit pointer sur les cellules contenant des valeurs. Fait le calcul avec Var1=1, ça doit donner le numéro de ligne de ta première cellule source.

    J'espère aussi que tu as pensé à changer le XXXX par le nombre de lignes à traiter. Si tu en as 80, mets 100.
    Il est possible de demander à la macro de déterminer le nombre exact mais j'ai préféré ne pas trop compliquer la code pour que tu puisses le comprendre.

    Il faudrait que tu visite un peu l'aide Excel pour comprendre ce que fait ce code.

Discussions similaires

  1. Macro copier coller première cellule vide
    Par jul85 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 24/02/2008, 17h06
  2. Réponses: 3
    Dernier message: 23/01/2008, 03h52
  3. Copier plage de cellules
    Par Jeanvaljean44 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 14/12/2007, 16h22
  4. [Excel] selection et copier-coller de cellule sans activer les sheets
    Par franckB dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/04/2007, 23h26
  5. Réponses: 5
    Dernier message: 14/02/2006, 14h32

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