Réalisation d'une macro d'extration de données
Bonjour à tous
voilà je présente mon soucis, dans le but de gagner du temps sur différentes manipulations, je souhaite créer une macro qui nous simplifierais la vie. Je m'explique, sur le fichier joint, sous l'onglet "appro 45" vous pouvez voir tout en haut, des colonnes fusionnées, ayant pour titre "AB" et "BB" (ce sont des noms d'engins), vous pouvez également voir des lignes fusionnées avec des dates ("LUNDI 05/11", "MARDI 06/11"etc....). Toujours sous cet onglet, dans les cases colorés, je souhaiterais voir apparaitre des informations provenant de l'onglet "Donnees" de façon automatique. Dans l'onglet "Donnees" vous pouvez voir 12 colonnes contenants des informations (rassurez-vous les données sont bidons par soucis de confidentialité), je souhaiterais donc voir les tâches (de la colonne "description_tache") apparaitre dans les cases de couleurs de l'onglet "appro 45" mais attention et c'est la que sa se corse en fonction des dates de réalisation et aussi en fonction des nom d'engins.
Voilà, j'espère avoir été assez clair dans mes explications auquel cas je me tiens à votre dispositions pour plus d'informations. Après de nombreuses recherche infructueuse je me tourne vers vous en espérant trouver une solution. Je vous remercie par avance pour le temps que vous daignerez m'accorder.
Bien cordialement,
bonne journée à tous
Captain
Personne pour m'aider? Svp
Bonjour
Je suis un peu (et même beaucoup) perdu dans ton tableau ... surtout qu'avec des cellules fusionnées c'est pas facile, je diras même rédhibitoire.
Pour me simplifier la vie, tu peux regarder ici quelque chose adaptable (et sans macro)
Il faudrait un paramètre de plus = moyen
Bonjour Steelson
pour commencer merci d'avoir tenter de répondre à mon sujet, en réalité l'onglet "donnees" provient d'une extraction de données d'un site (pour info), pour éviter tout travail inutile, est-il vraiment impossible de faire figurer les tâches dans les cellules fusionnées ? N'existe t-il pas de moyen pour fusionner les cellules automatiquement? Car selon les ressources (U63, U64...) les cases doivent apparaître d'une certaine couleur (les couleurs associés aux ressources se trouvent dans l'onglet "donnees"). Je sais que mon sujet est totalement tiré par les cheveux mais il permettrai un gain de temps considérable dans notre travail.
J'ai oublié de te dire aussi, que l'exemple que tu m'a gentille-ment fourni ne correspond malheureusement pas
Encore merci Steelson et merci à ceux qui tenteront de répondre à mon sujet,
pour commencer merci d'avoir tenter de répondre à mon sujet, en réalité l'onglet "donnees" provient d'une extraction de données d'un site (pour info),
je suppose que c'est par "copier/coller" ... mais dans ce cas il est sans doute plus judicieux de travailler directement avec la source ?
je peux jeter un oeil ce soir mais je ne suis pas sûr d'y arriver
Impossible de travailler avec la source (il s'agit uniquement d'un endroit ou nous pouvons extraire), et non il ne s'agit pas d'un copier/coller mais plutôt d'une feuille excel que nous déplaçons/incorporons dans le fichier. Je pense avoir trouvé la solution, au lieu de fusionner les cellules, j'écarte tout simplement les lignes car nous allons garder un modèle type de feuille (nous la recopierons à chaque fois et nous changerons juste les dates), j'arrive à faire apparaître les tâches du jour avec une macro et un bouton maintenant il ne me reste plus qu'à colorier les cases en fonction des ressources. Si vous ou quelqu'un d'autre a la solution je suis preneur
Pour info, voici la ligne de commande que j'utilise pour filtrer/copier/coller les tâches du jour (une ligne de commande par date avec un bouton d'apparition des tâches par date)
Sub Filtre12_11_2018()
Dim plage As Range
Set plage = Range("F2", Cells(Rows.Count, 6).End(xlUp))
plage.AutoFilter 2, "=D3 262"
plage.AutoFilter 7, "=12/11/2018"
If Application.Subtotal(103, plage) > 1 Then
Set plage = plage.SpecialCells(xlCellTypeVisible)
plage.Copy
ActiveSheet.Paste
'colle "Plage" où tu veux
End If
End Sub
Sub Filtre13_11_2018()
Dim plage As Range
Set plage = Range("F2", Cells(Rows.Count, 6).End(xlUp))
plage.AutoFilter 2, "=D3 262"
plage.AutoFilter 7, "=13/11/2018"
If Application.Subtotal(103, plage) > 1 Then
Set plage = plage.SpecialCells(xlCellTypeVisible)
plage.Copy
ActiveSheet.Paste
'colle "Plage" où tu veux
End If
End Sub
Sub Filtre14_11_2018()
Dim plage As Range
Set plage = Range("F2", Cells(Rows.Count, 6).End(xlUp))
plage.AutoFilter 2, "=D3 262"
plage.AutoFilter 7, "=14/11/2018"
If Application.Subtotal(103, plage) > 1 Then
Set plage = plage.SpecialCells(xlCellTypeVisible)
plage.Copy
ActiveSheet.Paste
'colle "Plage" où tu veux
End If
End Sub
Un grand merci