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 :

Nombre stocké en tant que texte / Number stored as text


Sujet :

AppleScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2012
    Messages : 6
    Par défaut Nombre stocké en tant que texte / Number stored as text
    Lorsque l'on fait un "set value" sur une cellule Excel par le biais d'un Applescript, et même si on a bien pris soin de définir le "number format", la valeur n'est pas évaluée mais stockée en tant que texte.

    Cette petite épine m'a agacée un certain temps, jusqu'à ce que je trouve une solution : multiplier chaque valeur par 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    on storeAsNumber(colonne, ligneDeb, ligneFin)
    	tell application "Microsoft Excel"
    		insert into range range "A:A" shift shift to right
    		set ones to range ("A" & ligneDeb & ":" & "A" & ligneFin)
    		set zone to get offset range (colonne & ligneDeb & ":" & colonne & ligneFin) column offset 1
    		set value of ones to 1
    		copy range ones
    		paste special zone operation paste special operation multiply
    		delete range range "A:A" shift shift to left
    	end tell
    end storeAsNumber
     
    storeAsNumber("C", 1, 22)
    Enjoy !

  2. #2
    Membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juillet 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2012
    Messages : 6
    Par défaut
    Raffinons:

    si l'on souhaite n'affecter que les cellules qui contiennent déjà des nombres, ça donnerait ça:

    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
    on storeAsNumber(colonne, ligneDeb, ligneFin)
    	tell application "Microsoft Excel"
    		set originalZone to range (colonne & ligneDeb & ":" & colonne & ligneFin)
    		try
    			find originalZone what "*"
    		on error
    			-- ligne vide, pas besoin d'ajouter des zéros
    			return
    		end try
     
    		insert into range range "A:A" shift shift to right
    		set zone to get offset originalZone column offset 1
    		set ones to range ("A" & ligneDeb & ":" & "A" & ligneFin)
    		copy range zone
    		paste special ones
    		replace ones what "*" replacement 1
    		copy range ones
    		paste special zone operation paste special operation multiply
    		delete range range "A:A" shift shift to left
    	end tell
    end storeAsNumber

Discussions similaires

  1. Nombre stocké sous format texte
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 28
    Dernier message: 22/07/2009, 13h40
  2. Comment exporter un texte xml en tant que swf "statique"
    Par Rafael456 dans le forum Dynamique
    Réponses: 3
    Dernier message: 17/06/2007, 16h45
  3. tant que je n'ai pas un nombre >0 . . .
    Par zac_7 dans le forum Débuter
    Réponses: 4
    Dernier message: 28/05/2007, 14h41
  4. Réponses: 2
    Dernier message: 01/11/2006, 22h36
  5. [VBA-E] Probleme avec Nombre stocké sous forme de texte
    Par AliochaBada dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/07/2006, 01h46

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