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

AppleScript Discussion :

Modification de données [XL-MAC 2016] [AppleScript]


Sujet :

AppleScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Points : 79
    Points
    79
    Par défaut Modification de données [XL-MAC 2016]
    Bonjour,

    Je souhaiterais modifier les valeurs d'une colonne d'un fichier Excel suite à un export en .csv

    Ce fichier .csv est un export de valeurs de mon logiciel de routage (optimisation de ma navigation maritime ) j'ai dans ma colonne HDG ( Cap Magnétique ) des valeurs en degrés, qui lors de l'export me garde le " ° " et m'ajoute un " Â " ....
    Exemple :
    245,90° lors de l'export me donne 245,90°

    J'aimerais qu'un script, autonome via AppleScript, me supprime le "°" et le must qu'il arrondisse à un entier ( comme la petite touche magique " ,00 -> ,0 " )
    ce qui pour l'exemple me donnerais :
    245,90° -> export .csv -> 245,90° -> script de modification -> 246

    Vous pourriez m'aiguiller pour ce "petit script", ça serait cool et m'enlèverais la corvée de me taper 300 lignes à la main ....

    Merci

  2. #2
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 602
    Points : 1 239
    Points
    1 239
    Par défaut
    Bonjour,
    C'est effectivement facile en AppleScript. Voici le script ci-dessous qui fait ce que tu demandes.
    Il est testé, J'ai testé et il fonctionne.
    J'ai simplement du, lors de mes tests, remplacer le  par un °, car sur mon Mac un Excel avec 234,56° donne bien un cdv avec 134,56° !!

    J'ai mis beaucoup de commentaires pour que tu puisse comprendre et modifier à ta guise.

    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
    set F to choose file "Sélectionner le fichier CVS à traiter"
    set FTraite to (choose file name with prompt "Enregistrer le fichier modifié" default name "MonCSV.csv" default location path to desktop) as text
    
    
    set FC to read F-- lit le contenu du csv
    set lesLignes to every paragraph of FC
    set AppleScript'stext item delimiters to {";"} -- défini le séparateur de colonne du fichier csv
    set NewF to open for access FTraite with write permission-- ouvre en écriture le fichier traité
    repeat with Ligne in lesLignes-- boucle sur chaque ligne
        set mesColonnes to text items of Ligne-- convert la ligne en liste de colonnes (elles sont séparée par des ";")
        set Valeur to item 3 of mesColonnes-- parce que ma colonne à arrondir est la N° 3 !
        set item 3 of mesColonnes to convert(Valeur) -- appel de la fonction de conversion
        set Ligne to mesColonnes as text-- remet les colonnes sous forme de ligne avec les séparateurs ":"
    write (Ligne & (ASCII character 13)) to NewF-- écrit la ligne dans le nouveau fichier
    end repeat
    close accessNewF
    
    
    on convert(V) -- converti xxx,yy° en arrondi de xxx,yy
        if (offsetof "Â" in V) = 0 then return V-- pas de conversion car le  n'existe pas
        set VNum to text 1 thru ((offset of "Â" in V) - 1) of V -- coupe avant le Â
        try
            set VR to round (VNum as real) -- transforme le text en reél et arrondi
        on error
            set VR to V-- si le texte n'est pas un réel on garde le texte inchangé
        end try
        return VR as text-- renvoie le résultat
    end convert
    Cordialement

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Points : 79
    Points
    79
    Par défaut
    Merci beaucoup PBELL !
    Je test ça ce soir en rentrant du taf
    J'avais commencé à écrire un script mais j'étais loin, très loin, de ta réalisation ...
    Hâte de le mettre en œuvre !!!


    Pour info :
    C'est un export du logiciel qtVlm (routage) vers Excel en .csv je remonterais le "bug" sur leur forum.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Points : 79
    Points
    79
    Par défaut
    Je rencontre un problème ou alors je m'y prend comme un manche ...

    Nom : Capture d’écran 2016-10-22 à 18.00.12.png
Affichages : 260
Taille : 355,7 Ko

    Cette erreur j'ai trouvé ...
    Avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        if (offsetof "Â" in V) = 0 then return V
    -- pas de conversion car le  n'existe pas
    Après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        if (offset of "Â" in V) = 0 then return V
    -- pas de conversion car le  n'existe pas

  5. #5
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 602
    Points : 1 239
    Points
    1 239
    Par défaut
    Bonsoir,
    Je ne vois pas tout ton script recopier, mais je vois déjà une erreur qui, je viens de vérifier, s'était déjà glissée dans mon post : un espace à disparu dans le copie.

    Dans la fonction "on convert", la première ligne qui suit, il y a : if (offsetof "Â" in V)...
    Il devrait y avoir : if (offset of "Â" in V) ...
    Donc avec un espace entre "offset" et "of".

    J'ai revérifié le script et je n'ai vu que cette espace manquant (Ohh le capricieux espace !!)
    Cordialement

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par PBELL Voir le message
    Bonsoir,
    Je ne vois pas tout ton script recopier, mais je vois déjà une erreur qui, je viens de vérifier, s'était déjà glissée dans mon post : un espace à disparu dans le copie.

    Dans la fonction "on convert", la première ligne qui suit, il y a : if (offsetof "Â" in V)...
    Il devrait y avoir : if (offset of "Â" in V) ...
    Donc avec un espace entre "offset" et "of".

    J'ai revérifié le script et je n'ai vu que cette espace manquant (Ohh le capricieux espace !!)
    Cordialement

    Bonsoir PBELL,
    J'ai pas pris soin de rafraîchir ma page et donc pas vu que tu m'avais répondu ( mode boulet : ON ...)
    et je me suis aperçu de cet espace manquant et donc ça n'est plus un problème mais un autre pointe le bout de son nez et encore une fois je m'en remet a toi car pour moi c'est du chinois ...

    Nom : Capture d’écran 2016-10-22 à 21.13.29.png
Affichages : 226
Taille : 181,0 Ko

  7. #7
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 602
    Points : 1 239
    Points
    1 239
    Par défaut
    Citation Envoyé par rlelamer Voir le message
    impossible d'obtenir item 3
    J'avais pris l'item 3 en indiquant que je supposais que la colonne contenant ton xxx,yyy était la colonne 3 dans ton fichier.
    Il faut donc vérifier et changer le "3" par le numéro de ta colonne (soit changer les 2 endroits dans le script).

    Par ailleurs, lorsque je convertis des fichiers Excel en cvs, le séparateur de colonne est un point virgule ";".
    Peut être ton logiciel qui génère le csv utilise un autre séparateur ?
    Pour le savoir, ouvre TextEdit, puis, dans textEdit, ouvre le fichier csv. Tu verras quel est le séparateur de colonne. Cela peut être une virgule, ou un point virgule.
    Une fois connu le séparateur de colonne, il suffit de le mettre dans l'instruction la ligne 5.
    Par exemple si c'est une virgule, la ligne devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set AppleScript'stext item delimiters to {","} -- défini le séparateur de colonne du fichier csv
    Par ailleurs, n'ayant pas ton fichier, j'ai supposé que toutes les lignes contenaient un nombre fixe de colonnes. Si ton fichier contient des lignes vides, dis le moi car j'ajouterai un test.
    Cordialement

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Points : 79
    Points
    79
    Par défaut
    Bonjour PBELL,

    Merci de ta patience ...

    J'avais pris l'item 3 en indiquant que je supposais que la colonne contenant ton xxx,yyy était la colonne 3 dans ton fichier.
    C'est le cas mes valeurs xxx,yy° se trouve tout le temps à la colonne C.

    Par ailleurs, lorsque je convertis des fichiers Excel en cvs, le séparateur de colonne est un point virgule ";".
    Peut être ton logiciel qui génère le csv utilise un autre séparateur ?
    Non il utilise également des ";"

    n'ayant pas ton fichier
    Je te le transmet en PJ le fichier Routage1.csv ainsi que ton script modifié (je suis peut être a l'origine de l'erreur ...)
    Fichiers attachés Fichiers attachés

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Points : 79
    Points
    79
    Par défaut
    Il serait pas possible de simplifier le script ?
    Je détaille ma démarche :

    # J'exporte seulement 3 valeurs de qtVlm
    - la date et l'heure
    - le SOG
    - le COG
    En réalité seulement 2 valeurs m'importe ( Date-Heure et COG ), la valeur SOG n'est qu'une indication donc je peux m'en passer

    # J'ouvre le fichier avec TextEdit et j'utilise la fonction 'Rechercher et Remplacer'
    Je recherche " ° " et le remplace par " " (rien)
    Je recherche que " ° " car sous TextEdit pas de  ne vient s'insérer entre la valeur et °
    J'enregistre.

    # J'ouvre mon fichier avec Excel 2016 Mac et sélectionne toutes les valeurs de la colonne C sauf C1 (COG) et la dernière (-)
    - " COG " étant l'intitulé des valeurs de la colonne C
    - " - " étant le point d'arrivée du routage (seule la valeur Date-Heure m'intéresse)
    - Je clic sur la touche ' ,00 -> ,0 ' pour ramener les valeurs à un entier.

    Ca c'est l'objet du script car avant je l'ouvrais direct avec Excel et me tapais toutes les lignes de la colonne C à la main pour supprimer le " ° "

    Ensuite on verra pour optimiser si tu le veux bien, je ne veux pas abuser du temps que tu me consacre déjà j'en suis conscient et t'en remercie encore une fois.

    J'espère que le détail de mon mode opératoire t'aiguille plus ...

  10. #10
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 602
    Points : 1 239
    Points
    1 239
    Par défaut
    Re-bonjour,
    Ce matin, j'avais regardé le script et ton commentaire, et j'ai modifié le script. Je reviens en fin de journée et je lis ton supplément.
    Voici mes commentaires et le script corrigé :

    Comme je m’y attendais, toutes tes lignes ne comptent pas au moins 3 items : la dernière n’en contient aucun, elle est vide !


    J’ai donc adapté le script pour traiter une recopie sans changement d’une ligne qui ne compte pas 3 items (au moins). J’ai ajouté que si la ligne est vide elle n’est pas du tout copiée.


    Le second point est à propos du  : ton fichier n’en contient pas ! (tout au moins pas lorsque je l’ouvre en fichier texte)
    En conséquence le script pense que ce n’est pas une colonne du bon format et donc il ne la change pas.
    J’ai donc modifié la routine d’arrondi pour prendre cela en compte.


    Voici le script corrigé en zip. En testant avec ton fichier d'exemple tout fonctionne !


    Cordialement
    Fichiers attachés Fichiers attachés

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Points : 79
    Points
    79
    Par défaut
    Alors la ..., chapeau l'artiste !
    J'aurais jamais réussi à faire ça ...
    Ca fonctionne parfaitement, merci beaucoup !

    Pour l'optimiser il me reste une dernière chose que je fais à la main
    Je m'explique avec des copies d'écrans commentées, ça sera plus parlant (du moins je l'espère ...)

    Nom : Capture d’écran 2016-10-23 à 17.49.07.png
Affichages : 222
Taille : 72,6 Ko

    Je regarde que la colonne C, je garde systématiquement tout changement de CAP (Lignes 2,17,24,29, etc) et supprime les autres.
    (Pas besoin d'avoir l'information de cap si il est identique à celui que je suis déjà et sur un fichier à 1330 lignes on y voit plus clair je garde l'essentiel quoi.)

    Nom : Capture d’écran 2016-10-23 à 17.52.45.png
Affichages : 220
Taille : 72,0 Ko

    Ce qui me donne ça à faire jusqu'en bas de la feuille et donc le fichier épuré c'est ma route à suivre pour atteindre mon objectif au plus rapide théorique.

    Ma faveur est la suivante on peut intégrer ça dans le script ?
    Je comprendrais que tu refuses tu m'as déjà bien aidé

  12. #12
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 602
    Points : 1 239
    Points
    1 239
    Par défaut
    Citation Envoyé par rlelamer Voir le message
    Ma faveur est la suivante on peut intégrer ça dans le script ?
    La réponse est oui !!
    J'ai modifié le script : il enregistre désormais dans la variable "CapPrecedent" la dernière valeur de cap enregistrée.
    Lorsqu'il veut écrire une nouvelle ligne, si la nouvelle valeur de cap est identique à CapPrecedent, ...il ne l'écrit pas.
    Si elle est différente, la ligne est écrite et la variable CapPrecedent prends la nouvelle valeur de cap écrite !

    Le script (version v3) est en pj en zip.

    Cordialement
    Fichiers attachés Fichiers attachés

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par PBELL Voir le message
    La réponse est oui !!
    PBELL, comment dire ... Merci n'est pas assez à mon gout ...
    Avec ce script ( qui me parait pas si facile que ça ) tu viens de me faire gagner un temps fou tu n'imagines pas ! Le moment ou je passais un temps monstre en pouvant faire une erreur est révolu !
    Je vais pouvoir consacrer plus de temps à peaufiner d'autres petites choses.
    Si tu passes par la BZH fais moi signe, je serais content de te payer un verre !

    Merci encore du temps passé sur le script, kenavo

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Points : 79
    Points
    79
    Par défaut
    Bonjour PBELL,
    Je te rassure tout fonctionne à merveille !

    J'ai juste voulu changer le répertoire par défaut qui est "desktop" pour mettre "documents/RT qtvlm"
    et là c'est le drame

    Après plusieurs recherches, j'arrive à ouvrir le répertoire "documents" par défaut pour la sélection du RT.csv à traiter et à l'enregistrer dans "documents" pour le RT_Modif.csv grâce à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set F to choose file default location path to documents folder
    set FTraite to (choose file name default name "RT_Modif.csv" default location path to documents folder) as text
    Mais impossible de lui donner "documents/RT qtvlm" comme chemin pour les 2 ...
    A chaque fois il me jette comme un mal propre en me baragouinant : Impossible de convertir every document en type constant.

    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    "macOS:Users:romain:Documents:RT qtVlm"
    "macOS/Users/romain/Documents/RT qtVlm"
    "Documents/RT qtVlm"
    "Documents/RT\ qtVlm"
    ...


    J'ai même regardé les droits des dossiers pour voir si j'avais pas du grabuge ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    MacBook-Pro-de-Romain:~ romain$ ls -l
    total 0
    drwx------@  5 romain  staff   170 24 oct 01:59 Desktop
    drwx------@ 10 romain  staff   340 24 oct 13:41 Documents
    drwx------+ 20 romain  staff   680 24 oct 13:00 Downloads
    drwx------@ 68 romain  staff  2312 22 oct 22:40 Library
    drwx------+  3 romain  staff   102 16 oct 12:38 Movies
    drwx------+  5 romain  staff   170 17 oct 08:58 Music
    drwx------+  3 romain  staff   102 16 oct 12:38 Pictures
    drwxr-xr-x+  6 romain  staff   204 16 oct 19:25 Public
    Quand tu auras 2 min, je veux bien la solution ainsi que l'explication stp ...

  15. #15
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 602
    Points : 1 239
    Points
    1 239
    Par défaut
    Tu n'es pas loin, mais, en fait, tu mélanges les concepts de string, d'alias et de chemin Unix avec les chemins scripts/Finder.

    D'abord les chemins :
    Le Mac travaille avec une belle interface utilisateur, mais sous le capot, c'est Unix. les chemins de fichiers Unix sont normalisés avec 2 caractéristiques :
    1) les niveaux dans l'arborescence des fichiers sont séparé par des "/"
    2) Unix considère tout espace comme un séparateur de paramètre (ou d'instruction) : par exemple "RT qtvlm" ne sera pas considéré comme un nom, mais comme 2 objets : "RT" suivi de "qtvlm". Comme aucun n'est reconnu, cela ne fonctionne pas. Il est possible de contourner avec des caractère d'échappement (rien à voir avec l'automobile) : "RT\ qtvlm" . Dans ce cas, le \ indique à Unix de considérer l'espace suivant strictement et pas de l'interpréter comme un séparateur d'instruction. Pour ceux qui appellent des commandes Unix à partir de Applescript, ils peuvent aussi utiliser "quoted form of" qui revient au même.
    Ton chemin Unix serait: "~Documents/RT\ qtvlm"

    En Applescript ou avec le Finder, les espaces dans les noms sont parfaitement acceptés...mais pas les ":" qui servent de séparateurs de niveau d'arborescence. Le chemin doit être complet depuis la racine du disque.
    Ton chemin deviendrait: "mon_Disque:Users:mon_userocuments:RT qtvlm"
    Si c'est un chemin de dossier, on ajoute un ":" à la fin.

    Les string et les alias :
    La variable (path to desktop) renvoie vers ton bureau. c'est un alias qui en fait décrit, non pas le nom, mais l'objet en lui donnant un numéro de référence.
    La variable "mon_Disque:Users:mon_userocuments:RT qtvlm:" est un string ou un texte. Elle ne désigne rien; pas plus ni moins que la variable "ceci est un beau jour" !!
    Certaines instructions Applescript veulent une référence à un objet (un fichier ou un dossier), d'autres se contentent d'un string.
    Applescript permet la conversion (les puristes disent la coercition) d'un type à l'autre.

    Dans el code ci-dessous, la path to Desktop est un alias pointant vers le desktop de l'utilisateur courant. il est transformé en string (grâce à "as string").
    A ce morveux de string, on peut alors ajouter un autre bout de string (le nom de ton dossier) avec un ":" pour signifier que cela sera un dossier.

    Enfin, chaque appel à "choose" demandant un pointeur vers un objet - ton dossier - (pas une string) on reconverti le chemin d'une string en alias avec...mais oui, bien sûr !! avec "as alias".

    En pratique, cela donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set Chemin to (path to documents folder as string) & "RT qtvlm:"
    set F to choose file default location (Chemin as alias)
    set FTraite to (choose file name default name "RT_Modif.csv" default location (Chemin as alias)) as text
    Cordialement

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Points : 79
    Points
    79
    Par défaut
    Bonsoir PBELL,
    Merci pour ces explications, va falloir que je relise plusieurs fois pour être sur de bien comprendre ...
    J'ai appliqué tes modifications et ça fonctionne tout comme je le souhaite, c'est juste ... parfait !
    Encore une fois merci d'avoir pris le temps de me répondre, t'es une mine d'informations et de connaissances !
    Kenavo et ce coup ci je le passe en résolu définitivement.

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

Discussions similaires

  1. [XL-MAC 2016] Modification de données
    Par rlelamer dans le forum Excel
    Réponses: 5
    Dernier message: 22/10/2016, 10h05
  2. [JTable] Interdire la modification des données ?
    Par Cyborg289 dans le forum Composants
    Réponses: 7
    Dernier message: 25/02/2013, 10h40
  3. Réponses: 6
    Dernier message: 15/02/2006, 14h02
  4. [MySQL] Modification de données utilisateurs
    Par Paniez dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 05/02/2006, 22h58
  5. recup de données sur MAC
    Par sarastro dans le forum Apple
    Réponses: 5
    Dernier message: 12/05/2005, 15h17

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