[..] Manipulation Excel

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
jeyro
Niveau 1
Niveau 1
Messages : 1
Enregistré le : ven. 08 juin 2018 17:43
Status : Hors ligne

[..] Manipulation Excel

#1

Message par jeyro »

Bonjour la communauté,

je m'arrache les cheveux pour créé mon besoin mais mes capacités de développement son limité.

J'utilise le #include <Excel.au3>

Je souhaite pouvoir :
- ouvrir un fichier .CSV n'importe ou qu'il soit (OK)

Je me suis appuyé sur cet exemple
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Crée une constante locale avec le message à afficher dans FileOpenDialog.
    Local Const $sMessage = "Appuyez sur Ctrl ou Shift pour choisir plusieurs fichiers."

    ; Ouvre une boîte de dialogue  pour sélectionner une liste de fichier(s).
    Local $sFileOpenDialog = FileOpenDialog($sMessage, @WindowsDir & "\", "Images (*.jpg;*.bmp)| Videos (*.avi;*.mpg)", $FD_FILEMUSTEXIST + $FD_MULTISELECT)
    If @error Then
        ; Affiche le message d'erreur.
        MsgBox($MB_SYSTEMMODAL, "", "Aucun fichier sélectionné.")

        ; Change le répertoire de travail (@WorkingDir) vers l'emplacement du répertoire de script comme FileOpenDialog l'a défini au dernier dossier consulté.
        FileChangeDir(@ScriptDir)
    Else
        ; Change le répertoire de travail (@WorkingDir) vers l'emplacement du répertoire de script comme FileOpenDialog l'a défini au dernier dossier consulté.
        FileChangeDir(@ScriptDir)

        ; Remplace les instances de "|" avec CRLF dans la chaîne retournée par FileOpenDialog.
        $sFileOpenDialog = StringReplace($sFileOpenDialog, "|", @CRLF)

        ; Affiche la liste des fichiers sélectionnés.
        MsgBox($MB_SYSTEMMODAL, "", "Vous avez sélectionné les fichiers suivants:" & @CRLF & $sFileOpenDialog)
    EndIf
EndFunc   ;==>Example
- rechercher une valeur texte dans la ligne 1 de différente colonne (j'ai un retour "0" quand j'affiche la variable dans un MsgBox...)

- supprimer toutes les autres colonnes (partiellement ok mais je sais que par défaut dans mon test ma colonne recherché est la premiere, mais se ne sera pas toujours le cas, donc je supprime statiquement avec un .delete B:D)

- trier la colonne de A à Z (OK)

- sauvegarder le fichier comme un bon vieux controle S (je doute que de mettre en paramètre de chemin @CRLF & $sFileOpenDialog fonctionne :c )

J'ai réussi certaines étapes qui sont annoté (OK), mais pour les autres j'essaie plein d'exemples sur internet et j'ai trop souvent des erreurs ...

Des conseils ?

Je vous mettrais des exemples plus concret prochainement.

Merci !
Avatar du membre
20100
Niveau 3
Niveau 3
Messages : 43
Enregistré le : ven. 03 juil. 2009 11:39
Status : Hors ligne

Re: [..] Manipulation Excel

#2

Message par 20100 »

Bonjour Jeyro,

Pour différentes de tes interrogations, je t'invite à lire un "old" post que j'avais fait sur le couple AutoIt & Excel (https://www.autoitscript.fr/forum/viewt ... =11&t=3272)

Par exemple pour faire un sauvegarder sous >

Code : Tout sélectionner

Local $filename = @WorkingDir&"\saveas_excel.xls" ; Chemin relatif du fichier où le classer va être sauvegarder
Local $xlNormal = 1
$oExcel.Application.DisplayAlerts = 0 ; Désactive message d'alerte
$oExcel.Application.ScreenUpdating = 0
$oExcel.ActiveWorkBook.SaveAs($filename, $xlNormal, Default, Default, Default, Default, 2, 1)
$oExcel.Quit

;===============================================================================================
; Signature de la méthode SaveAs
;
;   SaveAs (
;       [OptionalAttribute] Object Filename,
;       [OptionalAttribute] Object FileFormat,
;       [OptionalAttribute] Object Password,
;       [OptionalAttribute] Object WriteResPassword,
;       [OptionalAttribute] Object ReadOnlyRecommended,
;       [OptionalAttribute] Object CreateBackup,
;       [OptionalAttribute] XlSaveAsAccessMode AccessMode,
;       [OptionalAttribute] Object ConflictResolution,
;       [OptionalAttribute] Object AddToMru,
;       [OptionalAttribute] Object TextCodepage,
;       [OptionalAttribute] Object TextVisualLayout,
;       [OptionalAttribute] Object Local
;   )
;
; Paramètres
;
; Filename : Nom du fichier à enregistrer. Vous pouvez inclure un chemin d'accès complet ; si vous ne le faites pas, Microsoft Office Excel enregistre le fichier dans le dossier actif.
; FileFormat : Format de fichier à utiliser lorsque vous enregistrez le fichier. Pour obtenir la liste des choix valides, consultez la propriété FileFormat. Pour un fichier existant, le format par défaut est le dernier format de fichier spécifié ; pour un nouveau fichier, la valeur par défaut est le format de la version d'Excel utilisée.
; Password : Chaîne respectant la casse (pas plus de 15 caractères) qui indique le mot de passe de protection à donner au fichier.
; WriteResPassword : Mot de passe de réservation en écriture pour ce fichier. Si un fichier est enregistré avec le mot de passe et que celui-ci n'est pas fourni à l'ouverture du fichier, ce dernier s'ouvre en lecture seule.
; ReadOnlyRecommended : true pour afficher un message lorsque le fichier est ouvert, recommandant l'ouverture du fichier en lecture seule.
; CreateBackup : true pour créer un fichier de sauvegarde.
; AccessMode : Une des valeurs XlSaveAsAccessMode.
;                   $xlNoChange     = Leaves the sharing mode as it is (default) (numeric value = 1)
;                   $xlExclusive    = Disables sharing on the workbook (numeric value = 3)
;                   $xlShared       = Enable sharing on the workbook (numeric value = 2)
; ConflictResolution : Une des valeurs XlSaveConflictResolution.
;                   $xlUserResolution       = Pop up a dialog box asking the user how to resolve (numeric value = 1)
;                   $xlLocalSessionChanges  = The local user's changes are always accepted (default) (numeric value = 2)
;                   $xlOtherSessionChanges  = The local user's changes are always rejected (numeric value = 3)
; AddToMru : true pour ajouter ce classeur à la liste des fichiers récemment utilisés. La valeur par défaut est false.
; TextCodepage : Non utilisé dans la version anglaise (États-Unis) d'Excel.
; TextVisualLayout : Non utilisé dans la version anglaise (États-Unis) d'Excel.
; Local : true enregistre les fichiers par rapport à la langue d'Excel (y compris les paramètres du panneau de configuration). false (par défaut) enregistre les fichiers par rapport à la langue de Visual Basic pour Applications (VBA).
;===============================================================================================
jpascal
Niveau 6
Niveau 6
Messages : 226
Enregistré le : jeu. 16 oct. 2008 16:21
Status : Hors ligne

Re: [..] Manipulation Excel

#3

Message par jpascal »

Bonjour Jeyro,

Si ton but n'est pas de créer un fichier Excel mais de conserver un fichier CSV, tu peux effectuer toutes ces actions simplement en important le fichier CSV dans un tableau.
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Répondre