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 plages de cellules et insertion avec recherche


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Conseil AMO BIM
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Conseil AMO BIM
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Par défaut Copier plages de cellules et insertion avec recherche
    Bonjour,

    Je cherche via à une macro associée à un bouton à automatiser la copie d'une plage de cellules d'une feuille dans une autre et ce avec plusieurs contraintes :
    - Les cellules de chaque ligne doivent être assemblées en une seule cellule par ligne.
    - Elles doivent être insérées au bon endroit de la feuille cible (les phrases "type 1" sous la ligne "type 1" etc.)
    - Si je modifie le nombre de ligne dans la feuille "Type 1" et que je reclique sur le bouton, la feuille "Assemblage" doit être réactualisée.

    J'ai créé un fichier d'exemple pour ce que je veux :
    - Les feuilles "Type 1" et "Type 2" contiennent les phrases découpées par colonnes que je veux copier ainsi que le bouton à utiliser.
    - La feuille "Assemblage" est la feuille cible
    - La feuille "Assemblage_attendu" est le résultat que je souhaite obtenir.

    J'ai essayé de créer la macro pour sélectionner la bonne plage de cellule, mais cela me sélectionne les lignes entièrement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CommandButton1_Click()
     
    ActiveSheet.Range(Cells(2, 1), Cells((Cells(Rows.Count, 1).End(xlUp).Row), (Cells(2, Columns.Count).End(xlUp).Column))).Select
     
    End Sub
    Je suppose que ce n'est pas du tout optimal comme façon de procéder.

    Je vous remercie pour votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Presque personne n'ouvre les pièces jointes balancées avec la première question

    Et il y en a encore moins quand ce sont des fichiers de macros.

    Et encore encore moins quand il faut transformer Excel en traitement de texte.


    Je suppose que ce n'est pas du tout optimal comme façon de procéder.
    C'est aussi optimal que de demander à un psychiatre d'installer une prothèse de la hanche.

    Pour assembler intelligemment des textes séparés dans un document final

  3. #3
    Membre régulier
    Homme Profil pro
    Conseil AMO BIM
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Conseil AMO BIM
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Par défaut
    Bonjour clémentmarcotte,

    Au temps pour moi pour le fichier lié, je pensais que ma question ne serait pas claire sans un exemple (il s'agit d'ailleurs pas du véritable fichier, mais d'un exemple simplifié que j'ai construit pour ce topic). Mais après lecture du post de Pierre Fauconnier, je saisis le problème.

    Effectivement, j'ai conscience qu'Excel n'est pas un outil de traitement de texte. Si je laisse de côté la partie "assemblage" des phrases, cela reste un problème d'insertion de plages de données d'une feuille à l'autre.

    Je vous remercie pour votre réponse, je vais avancer de mon côté pour revenir avec un code plus avancé.

  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
    Je plusois le camarade clementmarcotte concernant toutes ses remarques.

    Citation Envoyé par MP_TIPEE Voir le message
    Je cherche via à une macro associée à un bouton à automatiser la copie d'une plage de cellules d'une feuille dans une autre
    Cela représente-t-il une ou plusieurs lignes ?

    Les cellules de chaque ligne doivent être assemblées en une seule cellule par ligne.
    Combien de cellules par lignes ?
    Que veux-tu dire par "assemblées" ? Concaténées ? Avec un séparateur ? Avec un saut de ligne ?

    Elles doivent être insérées au bon endroit de la feuille cible (les phrases "type 1" sous la ligne "type 1" etc.)
    Faire une recherche de l'expression souhaitée avec un Find et insérer une ligne juste au dessous.
    https://msdn.microsoft.com/fr-fr/lib.../ff839746.aspx
    https://msdn.microsoft.com/fr-fr/lib.../ff840310.aspx

    Si je modifie le nombre de ligne dans la feuille "Type 1" et que je reclique sur le bouton, la feuille "Assemblage" doit être réactualisée.
    Par "réactualisée", tu veux dire "insérée en plus" ou "mis à la place de la donnée précédente" ?
    Si c'est le second cas, comment la macro pourrait-elle savoir qu'une données déjà enregistrée dans ta feuille cible correspond à une données modifiée dans ta source ? Y a-t-il un numéro de ligne, un code unique ou autre pour l'identifier ?

    Je suppose que ce n'est pas du tout optimal comme façon de procéder.
    Sans vouloir être désobligeant, je dirais même que j'ai des difficultés à voir le rapport entre ce code et ta demande.

  5. #5
    Membre régulier
    Homme Profil pro
    Conseil AMO BIM
    Inscrit en
    Juillet 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Conseil AMO BIM
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2017
    Messages : 9
    Par défaut
    Bonjour Menhir,

    Cela représente-t-il une ou plusieurs lignes ?
    Selon les feuilles, les plages à copier ont un nombre de lignes et de colonnes variables. Le code que j'ai présenté était une tentative de sélectionner cette plage, quel que soit le nombre de lignes et de colonnes.

    Que veux-tu dire par "assemblées" ? Concaténées ? Avec un séparateur ? Avec un saut de ligne ?
    Par "assemblée", je voulais dire intégré dans une seule cellule avec un espace en tant que séparateur.

    Faire une recherche de l'expression souhaitée avec un Find et insérer une ligne juste au dessous.
    Merci, je regarde ça.

    Par "réactualisée", tu veux dire "insérée en plus" ou "mis à la place de la donnée précédente" ?
    L'idéal eut été de mettre à la place de la donnée précédente. Mais d'après ce que vous me dîtes, cela ajoute pas mal de complexité. Je vais donc considérer que l'action n'est réalisée qu'une seule fois.

    Sans vouloir être désobligeant, je dirais même que j'ai des difficultés à voir le rapport entre ce code et ta demande.
    Ce n'est pas désobligeant, je débute.

    Je vous remercie pour votre aide

Discussions similaires

  1. [XL-2003] Copier plage de cellule selont une valeur autre feuille
    Par Galdwin dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 03/10/2013, 13h11
  2. Copier plage de cellules dans 1ère cellule non vide
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/05/2013, 16h31
  3. [VBA-EXCEL] Copier plage de cellules aléatoire
    Par Alecine dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/05/2008, 15h50
  4. Copier plage de cellules
    Par Jeanvaljean44 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 14/12/2007, 16h22
  5. Réponses: 25
    Dernier message: 30/05/2007, 13h03

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