Add-Type -AssemblyName System.Windows.Forms # Créer une nouvelle fenêtre $form = New-Object System.Windows.Forms.Form $form.Text = "Interface PowerShell" $form.Width = 300 $form.Height = 150 # Créer un bouton "SCAM" $buttonScam = New-Object System.Windows.Forms.Button $buttonScam.Text = "SCAM" $buttonScam.Width = 100 $buttonScam.Height = 50 $buttonScam.Location = New-Object System.Drawing.Point(30, 30) # Ajouter un gestionnaire d'événement pour le bouton "SCAM" $buttonScam.Add_Click({ Write-Host "Bouton SCAM cliqué!" $userName = $env:USERNAME # Chemins vers les fichiers CSV $auteurPath = "C:\Users\$userName\Desktop\LOG et SCAM\Auteur\auteur.csv" $diffusionPath = "C:\Users\$userName\Desktop\LOG et SCAM\diffusion.csv" $outputPath = "C:\Users\$userName\Desktop\resultatscam.csv" # Supprimer le fichier de sortie s'il existe déjà if (Test-Path $outputPath) { Remove-Item $outputPath } # Lire le fichier auteur.csv et créer une table de hachage $auteurData = @{} Import-Csv $auteurPath -Delimiter ";" -Encoding UTF8 | ForEach-Object { $clipName = $_.TITREFILM.ToLower().Trim() $auteurData[$clipName] = $_ } # Liste pour stocker les résultats $resultat = New-Object 'System.Collections.Generic.List[object]' # Lire le fichier diffusion.csv et traiter chaque ligne Import-Csv $diffusionPath -Delimiter ";" -Encoding UTF8 | ForEach-Object { $date = [DateTime]::ParseExact($_.Date, "dd/MM/yyyy", $null) if ($date.Year -eq 2024) { $clipName = $_.ClipName.ToLower().Trim() if ($auteurData.ContainsKey($clipName)) { $auteurLigne = $auteurData[$clipName] $resultatLigne = [PSCustomObject]@{ "DATE" = $_.Date "TIME" = $_.Time "DUREE" = $auteurLigne.DUREE "TITREFILM" = $auteurLigne.TITREFILM "TITRECORRIGER" = $auteurLigne.TITRECORRIGER "AUTEUR" = $auteurLigne.REALISATEUR "SOUSTITRE" = $auteurLigne.SOUSTITRE "NUMEROEPISODE" = $auteurLigne.NUMEROEPISODE "SAISON" = $auteurLigne.SAISON "SCENARISTE" = $auteurLigne.SCENARISTE "PAYSDEPROD" = $auteurLigne.PAYSDEPROD "ANNEEDEPRODUCTION" = $auteurLigne.ANNEEDEPRODUCTION "GENRE" = $auteurLigne.GENRE "CODEOEUVRE" = $auteurLigne.CODEOEUVRE "PRODUCTION" = $auteurLigne.PRODUCTION } $resultat.Add($resultatLigne) } } } # Exporter les résultats vers un fichier CSV $resultat | Export-Csv -Path $outputPath -Delimiter ";" -Encoding UTF8 -NoTypeInformation Write-Host "Tableau 'scam' créé avec succès!" }) # Créer un bouton "SACD" $buttonSacd = New-Object System.Windows.Forms.Button $buttonSacd.Text = "SACD" $buttonSacd.Width = 100 $buttonSacd.Height = 50 $buttonSacd.Location = New-Object System.Drawing.Point(160, 30) # Ajouter un gestionnaire d'événement pour le bouton "SACD" $buttonSacd.Add_Click({ # Code à exécuter lorsque le bouton "SACD" est cliqué Write-Host "Bouton SACD cliqué!" }) # Ajouter les boutons à la fenêtre $form.Controls.Add($buttonScam) $form.Controls.Add($buttonSacd) # Afficher la fenêtre $form.ShowDialog()