Menu

Macro VBA dupliquer colonnes

jungle13 12 Messages postés jeudi 22 février 2018Date d'inscription 26 février 2018 Dernière intervention - 22 févr. 2018 à 16:45 - Dernière réponse : via55 9303 Messages postés mercredi 16 janvier 2013Date d'inscription 21 mai 2018 Dernière intervention
- 17 mai 2018 à 18:02
Bonjour,

J'ai réalisé un tableau excel pour convertir des résultats de laboratoire. Néanmoins sur le tableau que j'ai fait on ne peut copier coller qu'un échantillon à la fois (une seule colonne).
ce que j'essaye de faire mais je ne trouve aucune réponse sur les forums, c'est réaliser une macro qui puisse s'adapter à celle que j'ai déjà fait (la macro conversion dans le fichier). je voudrais pouvoir remplir la case "nombre d'échantillons à traiter" et en fonction de ça dupliquer les colonnes de mon tableau en fonction du nombre d'échantillons. par exemple si je mets "3", la colonne "résultats laboratoire" se copie colle en 3 fois et les autres également pour pouvoir avoir à la fin 3 colonnes "report tableau" pour pouvoir avoir directement les résultats des mes 3 échantillons sans faire 3 fois copier coller.
Pouvez-vous m'aider s'il vous plait ?
merci d'avance !!
Afficher la suite 

Votre réponse

21 réponses

via55 9303 Messages postés mercredi 16 janvier 2013Date d'inscription 21 mai 2018 Dernière intervention - 22 févr. 2018 à 18:01
0
Utile
Bonjour

Difficile de t'aider sans avoir l'exemple de ton fichier avec son tableau !
Exemple à poster sur mon-partage.fr, faire créer un lien, le copier et revenir le coller ici

Cdlmnt
Via
jungle13 12 Messages postés jeudi 22 février 2018Date d'inscription 26 février 2018 Dernière intervention - 22 févr. 2018 à 18:05
Merci pour ta réponse, voici le lien : https://mon-partage.fr/f/whteEGYf/
Commenter la réponse de via55
via55 9303 Messages postés mercredi 16 janvier 2013Date d'inscription 21 mai 2018 Dernière intervention - 22 févr. 2018 à 19:53
0
Utile
J'ai commencé à regarder
Où veux tu dupliquer x fois ton tableau, à la suite du 1er (à droite) ou en dessous ?
Pour une application de la macro ce sera plus facile si on copie en dessous les lignes 10 à 31
Si tu es OK je commence à regarder pour la copie en x exemplaires en dessous et après on verra pour faire effectuer la macro de conversion sur chaque tableau au clic sur un seul bouton
jungle13 12 Messages postés jeudi 22 février 2018Date d'inscription 26 février 2018 Dernière intervention - 22 févr. 2018 à 20:13
Je voudrais dupliquer la colonne C et que les copies s'insèrent entre les colonnes C et D ou B et C n'importe, soit avant soit après. je ne sais pas si c'est possible ?
merci encore
je reste à votre disposition pour toute autre question
Commenter la réponse de via55
via55 9303 Messages postés mercredi 16 janvier 2013Date d'inscription 21 mai 2018 Dernière intervention - Modifié par via55 le 22/02/2018 à 22:00
0
Utile
Tout est possible ou presque !
Mais je n'arrive pas à comprendre d'après ton message initial tu parles de dupliquer toutes les colonnes de C à J
et apparemment tu voudrais que les copies s'intercalent, la nouvelle C s’intercalerait avant la D et deviendrait donc la D, l'ancienne D deviendrait E et sa copie s'intercalerait après elle en F, la F devenant G etc ?
Si il y a 3 échantillons la 2eme copie de la C s'intercalerait entre D et E, devenant la nouvelle colonne E etc
Confirme moi que c'est bien cela

Combien peut il y avoir d'échantillons à traiter au maximum ?

jungle13 12 Messages postés jeudi 22 février 2018Date d'inscription 26 février 2018 Dernière intervention - 22 févr. 2018 à 22:00
oui soit elle s'intercalerait soit on pourrait les mettre à la suite, par exemple la C suivies de ses 2 copies, ensuit la colonne des "2" suivie de ses deux copies, la colonne suivant suivie de ses deux copies et ainsi de suite. il faudrait juste que ça colle avec les formules que j'ai inscrites dans les certaines colonnes.
je ne sais pas, mais beaucoup, car pendant des campagnes de prélèvements on peut prélever à plein d'endroits différents. il faut qu'il y ait une limite ?
jungle13 12 Messages postés jeudi 22 février 2018Date d'inscription 26 février 2018 Dernière intervention - 22 févr. 2018 à 22:02
j'ai l'impression qu'il y a eu un bug, as-tu eu mon dernier commentaire ?
jungle13 12 Messages postés jeudi 22 février 2018Date d'inscription 26 février 2018 Dernière intervention - 22 févr. 2018 à 22:07
je voulais dire qu'on peut soit les intercaler comme tu dis, soit mettre à la suite les copies de chaque colonne correspondante. par exemple les 2 copies à la suite de la colonne C, puis les 2 copies à la suite de la colonne suivante et ainsi de suite.
et pour les échantillons il peut y en avoir beaucoup, le mieux ça serait de le faire à l'infini
jungle13 12 Messages postés jeudi 22 février 2018Date d'inscription 26 février 2018 Dernière intervention - 22 févr. 2018 à 22:08
il faut juste que les formules que j'ai mis dans certaines colonnes correspondent bien avec les cellules
Commenter la réponse de via55
via55 9303 Messages postés mercredi 16 janvier 2013Date d'inscription 21 mai 2018 Dernière intervention - Modifié par via55 le 22/02/2018 à 22:53
0
Utile
On va essayer comme cela c'est plus simple que les colonnes de résultats où sont à rentrer les données soient côte à côtes et non dispersées
Certaines cellules n'ont pas de formules (col E F G) et ne sont pas à remplir par l'utilisateur, donc je pense que c'est toi qui les remplis avant à chaque fois ?

Par contre ce qui serait plus judicieux c'est que les colonnes reports qui sont à copier et coller dans une autre feuille soient après les colonnes résultats au lieu d'être tout à droite et que les colonnes entre Résultats et Report sur lesquelles l'utilisateur n'a pas à intervenir soient masquées
Qu'en pense tu ?

Pour le nombre de prélèvements la seule limite c'est le nombre de colonnes d'une feuille Excel et comme il y en a plus de 16 000 depuis la version 2007 ! La vraie limite c'est le poids du fichier en fait

Je te fais un retour dès que possible


jungle13 12 Messages postés jeudi 22 février 2018Date d'inscription 26 février 2018 Dernière intervention - 23 févr. 2018 à 09:07
oui en fait elles se remplissent automatiquement une fois que j'ai copié collé les résultats et que j'active ma macro. Par exemple des fois les résultats sont sous la forme 256 <x < 320 et des fois juste < 230 donc je sépare les valeurs maxi et les valeurs mini.
ah oui si c'est possible ça serait top !
Merci beaucoup
Commenter la réponse de via55
via55 9303 Messages postés mercredi 16 janvier 2013Date d'inscription 21 mai 2018 Dernière intervention - Modifié par via55 le 23/02/2018 à 12:24
0
Utile
Ok je regarde ça ce soir


jungle13 12 Messages postés jeudi 22 février 2018Date d'inscription 26 février 2018 Dernière intervention - 23 févr. 2018 à 12:23
https://mon-partage.fr/f/jgUkPaRI/

Voici le fichier avec un exemple de résultat, il y a juste à lancer la macro
Commenter la réponse de via55
via55 9303 Messages postés mercredi 16 janvier 2013Date d'inscription 21 mai 2018 Dernière intervention - 24 févr. 2018 à 01:39
0
Utile
Re

Macro duplication fonctionnelle

Par contre je ne suis pas arrivé à faire fonctionner ta macro conversion ^correctement en même temps
Je l'ai donc supprimée et remplacée par des formules dans les cellules (du coup ça fait moins de colonnes intermédiaires) et ça fait une manip de moins pour l'utilisateur

Dans le fichier tu as donc une feuille modele vierge avec les formules et la macro duplication (à concerver toujours intacte)
1) tu copies fais créer une copie du modèle
2) la feuille est protégée (mais sans mot de passe), les utilisateurs n'ont accès qu'aux cellules en bleu pour enter des données,
toi tu déprotèges la feuille, tu rentre le nombre d'échantillons à traiter et tu reprotèges la feuille (sans mot de passe) - si tu veux on pourra en mettre un mais il faudra aussi le mettre dans la macro qui déprotège avant la duplication et en fin de duplication
3) Tu lances la macro duplication , les colonnes sont dupliquées puis les colonnes intermédiaires masquées et la feuille reprotégée, la feuille est prête pour utilisation

https://mon-partage.fr/f/gWb50Po7/

En espérant que ça correspond à tes attentes
jungle13 12 Messages postés jeudi 22 février 2018Date d'inscription 26 février 2018 Dernière intervention - 24 févr. 2018 à 10:45
Bonjour,

Tout d'abord merci pour ta précieuse aide,
Mais j'ai mis le nombre d'échantillons mais je n'arrive pas à lancer la macro?
Quand je vais dans développeur > macro je n'ai aucune macro qui s'affiche ?
Commenter la réponse de via55
via55 9303 Messages postés mercredi 16 janvier 2013Date d'inscription 21 mai 2018 Dernière intervention - 24 févr. 2018 à 11:00
0
Utile
Bonjour

Bizarre ! Je viens de retelecharger le fichier depuis mon partage et j'ai bien la macro !
La voici :
Sub duplication()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
nbcol = Range("B2") - 1
coldep = 3
colfin = coldep + nbcol
'colonnes resultats
x = 1
    For n = coldep To colfin - 1
    x = x + 1
    Range(Cells(10, n), Cells(31, n)).Select
    Selection.Copy
    Cells(10, n + 1).Select
    Selection.Insert Shift:=xlToRight
    Selection.ColumnWidth = 27
     Cells(11, n + 1) = "RESULTATS LABORATOIRE " & x
    Next n
    coldep = colfin + 1
    colfin = coldep + nbcol
    masque1 = coldep
'colonnes intermediaires
 For w = 1 To 4
        For n = coldep To colfin - 1
        Range(Cells(10, n), Cells(31, n)).Select
        Selection.Copy
        Cells(10, n + 1).Select
        Selection.Insert Shift:=xlToRight
        Next n
    masque2 = colfin
    coldep = colfin + 1
    colfin = coldep + nbcol
Next w
'colonnes report
x = 1
For n = coldep To colfin - 1
x = x + 1
        Range(Cells(10, n), Cells(31, n)).Select
        Selection.ColumnWidth = 25
        Selection.Copy
        Cells(10, n + 1).Select
        Selection.Insert Shift:=xlToRight
        Selection.ColumnWidth = 25
        Cells(11, n + 1) = "REPORT TABLEAU " & x
    Next n
    
 'masquage colonnes
For a = masque1 To masque2
 Columns(a).Select
Selection.EntireColumn.Hidden = True
Next a
ActiveSheet.Protect
Application.ScreenUpdating = True
End Sub


jungle13 12 Messages postés jeudi 22 février 2018Date d'inscription 26 février 2018 Dernière intervention - 26 févr. 2018 à 09:16
Bonjour,

Désolée, pas de connexion internet ce weekend.
J'ai copié collé le code et c'est bon j'arrive à lancer la macro, c'est exactement ce que je voulais, c'est génial merci beaucoup !
par contre, j'ai fait un premier essai avec par exemple 3 échantillons, et j'ai ensuite copié collé mes résultats dans les 3 tableaux et j'ai eu mes 3 tableaux de conversion c'est super. par contre quand j'efface "3" et que je tape par exemple 2, et que je relance la macro, j'ai bien mes deux tableaux qui apparaissent mais les tableaux mini et maxi et les autres ne disparaissent plus, est-ce normal ? ou alors pour relancer la macro avec un nombre d'échantillons différent il faut fermer la feuille sans l'enregistrer et la réouvrir ?
j'en demande peut -être trop mais je ne suis pas très douée sur excel désolée!
Commenter la réponse de via55
via55 9303 Messages postés mercredi 16 janvier 2013Date d'inscription 21 mai 2018 Dernière intervention - 26 févr. 2018 à 11:57
0
Utile
Bonjour

Bien
Oui la feuille est un modèle avec une colonne pour chaque calcul avec les formules, il faut donc bien une fois la duplication et le copiage des tableaux faits bien fermer le fichier sans l'enregistrer puis le rouvrir pour un nouveau traitement
jungle13 12 Messages postés jeudi 22 février 2018Date d'inscription 26 février 2018 Dernière intervention - 26 févr. 2018 à 12:00
très bien, c'est noté !
Merci encore
Bonjour,

Je me permets de vous recontacter parce que la dernière fois vous m'aviez vraiment beaucoup aidée. J'ai exactement la même chose à faire sur excel cette fois-ci mais pour des analyses de sols donc il y a plus de paramètres.
J'aimerais conserver le fonctionnement de la dernière fois où on rentre le nombre d'échantillons qu'on a à traiter et le nombre de colonnes correspondant apparaît pour pouvoir coller nos résultats d'analyse. Mais cette fois-ci il n'y aurait pas la dernière colonne de conversion, ça serait juste programmer une mise en forme conditionnelle par rapport à l'échelle de couleur et aux seuils correspondants.
Je ne sais pas si cela est très parlant, je vous transmets les fichiers en question.

L'ancien fichier de conversion que vous m'avez fait : https://mon-partage.fr/f/3bY9cgYN/

Le fichier à modifier sous le même principe, avec les seuils et les couleurs correspondants pour la mise en forme:

https://mon-partage.fr/f/9SznJv2Y/

Bien cordialement
Commenter la réponse de via55
via55 9303 Messages postés mercredi 16 janvier 2013Date d'inscription 21 mai 2018 Dernière intervention - 17 mai 2018 à 18:02
0
Utile
Bonjour

Pour l'instant tu m'a juste envoyé une table avec les éléments et les seuils mais je ne sais ni comment se présente les résultats d'analyse ni si on doit employer les même formules que la dernière fois etc

Prépare moi une feuille de résultat bâtie comme le modèle que tu m'as renvoyé avec un exemple de résultats dans la colonne Résultats Laboratoire 1 et les colonnes nécessaires : valeurs mini, maxi ... et les valeurs attendues

Cdlmnt
Via
Commenter la réponse de via55