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 :

Recopie des cellules non vides sur une autre feuille [XL-365]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Septembre 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2020
    Messages : 29
    Points : 20
    Points
    20
    Par défaut Recopie des cellules non vides sur une autre feuille
    Bonjour.

    J'ai confectionné un tableau pour lister des étiquettes, d'après les besoins des chantiers, puisque au part avant mes collègues devait sois remplir les cases à la main sois copier-coller, d'ou certaine erreur du à la fatigue des yeux et au oublie.
    Maintenant il est automatisé.

    Mon problème est que je n'y connait strictement rien à la programmation sous excel. Et que le magasin, eux travaille avec une machine qui travaile sous AutoCad, d'ou ils doivent recopier les cellules que l'on a remplie sur une seule colonne, est bien sur à la longue avec la fatigue des yeux ou au oublie puisque le tableau est quand même bien consequent. Il faudrait pouvoir recopier sur une autre feuille (Impression AutoCad) sur une seule colonne, les valeurs de la premiere feuille (Labelling).

    J'ai mis un Fichier comme exemple ou la feuille (ImpressionAutoCad) faite a la main part copier-coller, d'après le remplissage de la feuille (Labelling)

    Merci d'avance pour votre aide et vos idées.

    Bonne journée.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 513
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 513
    Points : 16 441
    Points
    16 441
    Par défaut
    Bonjour

    Une solution PowerQuery (intégré à Excel), donc sans VBA

    Actualiser par Données, Actualiser Tout
    Fichiers attachés Fichiers attachés

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Septembre 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2020
    Messages : 29
    Points : 20
    Points
    20
    Par défaut Recopie des cellules non vides sur une autre feuille
    Bonjour.

    Merci Chris, pour ton aide en premier.

    En suite, je connais que de nom PowerQuery, mais la je suis bloffé du point de vue de la facilité, moi qui me voyais déjà devoir passer des nuits blanches.
    Mais vas falloir que je mis plonge quand même dans cette nouvelle extension.

    Une petit question par rapport à la présentation des labels, elles doivent rester dans les mêmes couleurs puisqu'elles seront imprimées ainsi, une idée du menu de PowerQuery à utiliser.

    Encore merci et belle journée.

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    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 124
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut

    Citation Envoyé par Savat2 Voir le message
    [...]
    Une petit question par rapport à la présentation des labels, elles doivent rester dans les mêmes couleurs puisqu'elles seront imprimées ainsi, une idée du menu de PowerQuery à utiliser.[...]
    Tu dois aller dans la mise en forme du tableau structuré qui résulte de Power Query.

  5. #5
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 513
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 513
    Points : 16 441
    Points
    16 441
    Par défaut
    Bonjour

    Dans la mesure où la source n'a pas une logique uniforme, à savoir couleur par colonne du haut en bas, la gestion par MFC complique pour la partie FeederHead

    Quand aux hachures... pas de règle utilisable il me semble

    Un essai
    Fichiers attachés Fichiers attachés

  6. #6
    Membre à l'essai
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Septembre 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2020
    Messages : 29
    Points : 20
    Points
    20
    Par défaut Recopie des cellules non vides sur une autre feuille
    Bonjour Chris.

    Encore merci pour ton aide.

    Bon, premier point, JE me suis mis dedans, dans la mise en forme du tableau de réception après transformation.

    Le faite que les étiquettes sois de couleurs est pour mieux les repérés au premier cout d’œil, elles servent aussi à différencier les commandes de la partie électrique (en blanc) et les feederhead les alimentations principales, voila j'espère que je me sois mieux exprimé.

    Tu dois me pardonné, le faite que je ne connaisse pas Power Query, je t'avoue que je planche encore sur comment ça fonctionne, pour te dire toute la vérité, je n'ai toujours pas compris comment tu t'y est prie pour la manip !
    Si tu as des conseils sur des sites ou exemple pour mieux comprendre Power Query, je suis preneur.

    Et j'ai discuté avec mes collègues du magasin, pour savoir quelle présentation leurs conviendrai mieux, j'ai mis seulement un exemple sans le tableau de départ (tableau de commande des étiquettes), désolé pour mes mauvaises explications de départ.

    Si je mets du temps à répondre, c'est que je suis à la base monteur donc sur les chantier.

    Vay con dios.
    Fichiers attachés Fichiers attachés

  7. #7
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 513
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 513
    Points : 16 441
    Points
    16 441
    Par défaut
    RE

    On peut ventiler par couleur mais, comme déjà dit, pas de solution pour les hachures si tu tu peux définir une règle

    Ou sinon établir la liste des codes concernés afin qu'elle puisse être utilisé par une MFC

  8. #8
    Membre à l'essai
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Septembre 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2020
    Messages : 29
    Points : 20
    Points
    20
    Par défaut Recopie des cellules non vides sur une autre feuille
    Bonjour Chris.

    Petit oublie d'explication, au faite les hachures verte servent de repère pour les collègues du bureau qui font la commande des étiquettes, puisque normalement le fichier est protégé en écriture pour qu'il n'y est pas de mauvaise manipulation, et du moment que tu remplie les cellules hachurées ça remplie le reste du tableau d'après les besoins sur le chantier, on pourraient les considérées comme blanches.

    Ai-je était suffisamment clair, désolé pour la tournure de phase, je ne voyais pas comment dire si mes explications sont plus clair !!!

    Mais pourrais-tu si je me permet la manip que tu utilise avec power query pour transformer le fichier, la j'en suis à minimum 20 pages ouvertes d'exemple sur internet, mais je trouve pas comment tu as réussi ce coup de maitre.

    Maìtre, si j'ose dire

  9. #9
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 513
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 513
    Points : 16 441
    Points
    16 441
    Par défaut
    RE

    Avec 5 colonnes ci-joint

    J'ai commencé par créer par formule une plage nommée Data afin de sélectionner tout le tableau utile de Labelling


    Commence par regarder le 1er exemple (au #2) : Données, Obtenir des données, Lancer PowerQuery

    Il y a une requête nommée Synthèse avec à droite toutes les étapes.
    On part d'une requête vide et on tape dans la barre de formule de PowerQuery, afin de récupérer les données de la plage Data
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = Excel.CurrentWorkbook(){[Name="Data"]}[Content]
    Pour les autres étapes tu peux les regarder une par une : le détail s'affiche dans la barre de formule et en cliquant sur le petit rouage de l'étape.

    Si tu coinces sur une étape, reposte

    Pour l'éclatement en 5 colonnes : j'ai enlevé les dernières étapes de Synthèse puis créé autant de requêtes exploitant Synthèse que de colonnes colorées, en filtrant à chaque fois sur les colonnes concernées par une couleur et en éliminant tout ce qui commence par HY

    Le dernière reprend les HY des colonnes 1 à 9 et la partie droite de Labelling
    Fichiers attachés Fichiers attachés

  10. #10
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 948
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 948
    Points : 5 174
    Points
    5 174
    Par défaut
    Bonjour
    solution VBA
    NB : j'ai juste annulé la fusion des lignes
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    Option Explicit
    Sub test()
    Dim F1 As Worksheet
    Dim F2 As Worksheet
    Set F1 = Sheets("Labelling")
    Set F2 = Sheets("Impression AutoCad")
    Dim i As Long
    Dim j As Long
    Dim Ligne As Long
    Dim plage1 As Range
    Dim c As Range
    Dim plage2 As Range
    Dim plage3 As Range
    Dim plage4 As Range
     
    Application.ScreenUpdating = False
     
    F2.Columns("A:B").ClearContents
     
    With F1
    Set plage1 = .Range("B5:B134")
    Set plage2 = .Range("D5:D134")
    Set plage3 = .Range("F5:F134")
    Set plage4 = .Range("H5:H134")
    End With
     
     Ligne = 1
     
     
     For Each c In plage1
     If c.Value <> 0 And c.Value <> "" Then
     F2.Cells(Ligne, 1) = F1.Cells(c.Row, 1)
     F2.Cells(Ligne, 2) = c.Value
     F2.Cells(Ligne, 1).Interior.Color = F1.Cells(c.Row, 1).Interior.Color
     F2.Cells(Ligne, 2).Interior.Color = c.Interior.Color
     End If
     If F2.Cells(Ligne, 1) <> "" Then Ligne = Ligne + 1
     Next c
     
     For Each c In plage2
     If c.Value <> 0 And c.Value <> "" Then
     F2.Cells(Ligne, 1) = F1.Cells(c.Row, 3)
     F2.Cells(Ligne, 2) = c.Value
     F2.Cells(Ligne, 1).Interior.Color = F1.Cells(c.Row, 3).Interior.Color
     F2.Cells(Ligne, 2).Interior.Color = c.Interior.Color
     End If
     If F2.Cells(Ligne, 1) <> "" Then Ligne = Ligne + 1
     Next c
     
     For Each c In plage3
     If c.Value <> 0 And c.Value <> "" Then
     F2.Cells(Ligne, 1) = F1.Cells(c.Row, 5)
     F2.Cells(Ligne, 2) = c.Value
     F2.Cells(Ligne, 1).Interior.Color = F1.Cells(c.Row, 5).Interior.Color
     F2.Cells(Ligne, 2).Interior.Color = c.Interior.Color
     End If
     If F2.Cells(Ligne, 1) <> "" Then Ligne = Ligne + 1
     Next c
     
     For Each c In plage4
     If c.Value <> 0 And c.Value <> "" Then
     F2.Cells(Ligne, 1) = F1.Cells(c.Row, 7)
     F2.Cells(Ligne, 2) = c.Value
     F2.Cells(Ligne, 1).Interior.Color = F1.Cells(c.Row, 7).Interior.Color
     F2.Cells(Ligne, 2).Interior.Color = c.Interior.Color
     End If
     If F2.Cells(Ligne, 1) <> "" Then Ligne = Ligne + 1
     Next c
     
     F2.Select
     
    Application.ScreenUpdating = True
    End Sub
    Fichiers attachés Fichiers attachés

  11. #11
    Membre à l'essai
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Septembre 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2020
    Messages : 29
    Points : 20
    Points
    20
    Par défaut Recopie des cellules non vides sur une autre feuille
    Merci Chris merci, j'ai pas d'autre mots.

    Ça fonctionne à la perfection.

    Je vais étudier sur la base de ton fichier pour apprendre et essayer de m'améliorer, je n'irai pas jusqu’à dire aussi bon que toi, puisque je suis déjà un dieu (JOKE).

    Merci infiniment pour le gain de travail (et des yeux de mes collègues du magasin).

    Petit question sur le post, je dois le fermer et au besoin en ouvrir un autre, étant new aussi dans votre site ?

    Bonne soirée.

  12. #12
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 513
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 513
    Points : 16 441
    Points
    16 441
    Par défaut
    RE à tous

    Merci du retour

    Si ta question est liée au même problème tu peux rester sur ce fil, si c'est un autre problème tu ouvres un nouveau fil.

    Pour celui-ci, il y a il me semble une option pour passer en résolu

  13. #13
    Membre à l'essai
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Septembre 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2020
    Messages : 29
    Points : 20
    Points
    20
    Par défaut Recopie des cellules non vides sur une autre feuille
    Bonjour.

    Suite à l'agrandissement du tableau d'étiquettes, j'ai rencontrai quelque souci.

    Pourriez-vous me dire en quoi je me trompe, quand je veux ajouter les 4 nouvelles colonnes en (I,J,K et L), puis les 4 autres en (U,V,W et X), et que je dois passer par power query, c'est la que je pêche, j'ai beau lire relire les lignes je ne comprend pas d’où vient mon erreur et plus grave je ne suis même plus capable de me souvenir comment importé les valeurs dans l'onglet "ImpressionAutoCad".

    Si vous aviez l'amabilité de me dépanner.

    Dans l'attente, je vous laisse une copie du fichier.

    Merci d'avance.
    Fichiers attachés Fichiers attachés

  14. #14
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 513
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 513
    Points : 16 441
    Points
    16 441
    Par défaut
    Bonjour

    J'ai modifié une ligne de la requête Synthèse pour que le remplacement des valeurs null se fassent sur toutes les colonnes et pas sur un nombre prédéterminé de colonnes, ce qui s'appliquera donc aux éventuelles futures colonnes

    Cependant toutes les quantités étant à 0, il n'y a pas d’étiquettes. J'ai saisi aléatoirement des nombres pour valider le fait que la correction fonctionne

    J'ai aussi chargé les nouvelles requêtes Orange et Gris dans l'onglet ImpressionAutoCad : il faut depuis le volet qui affiche les requêtes dans Excel, effectuer un clic droit sur la requête, Charger, préciser Tableau puis l'emplacement voulu dans la feuille ImpressionAutoCad, pas nouvelle feuille
    Fichiers attachés Fichiers attachés

  15. #15
    Membre à l'essai
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Septembre 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2020
    Messages : 29
    Points : 20
    Points
    20
    Par défaut Tableau des etiquettes
    Bonjour.

    En tout premier lieu, je vous remercie infiniment pour votre temps.

    Merci aussi pour les explications, je vais essayé de comprendre vos modifications sur la requête "synthèse", d'ailleurs je comprend mieux ma recherche infructueuse, car je ne chercher pas au bon endroit !!!

    Si je peux me permettre, après avoir lu les explication de M. Fauconnier sur power query, seriez-vous où trouver de la documentation aussi bien expliqué, car de la documentation je vais en trouver, mais aussi bien ?

    Dans tout les cas, merci infiniment pour votre aide.

  16. #16
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 513
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 513
    Points : 16 441
    Points
    16 441
    Par défaut
    Bonjour

    En français il n'y a pas encore beaucoup de chose mais je peux conseiller le livre d'ENI Power Query et le langage M, sous titre Préparation et traitement des données d'analyse par Frédéric LE GUEN & Cathy MONIER

    Il date un peu et il y a eu quelques changement de traductions dans le ruban de PowerQuery depuis 2016 mais je pense que cela ne pose pas de problèmes.

    Sinon il y a comme une réédition avec en sous-titre Extraire et préparer les données en vue de leur exploitation dans Excel ou Power BI par André MEYER-ROUSSILHON mais je ne l'ai pas encore lu

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

Discussions similaires

  1. Réponses: 15
    Dernier message: 05/03/2018, 19h05
  2. Copié cellule non vide dans une autre feuille
    Par yodaou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/09/2017, 09h22
  3. [XL-2013] Copier uniquement des cellules non vides sur un autre classeur
    Par tonyfrost dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/06/2014, 22h54
  4. [XL-2007] compter les cellules non vides sur une ligne
    Par tyndare36 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/02/2014, 11h30
  5. [XL-2003] Erreur code:copie de données non vides sur une autre feuille
    Par Razekiel_ dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 29/04/2013, 08h08

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