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

Macros et VBA Excel Discussion :

[VBA-E] Problème après extraction d'une base de donnée (fonction replace)


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Points : 31
    Points
    31
    Par défaut [VBA-E] Problème après extraction d'une base de donnée (fonction replace)
    Bonjour à tous,

    J'ai un souci après avoir extrait une base de donnée d'un serveur.

    J'obtient un fichier excel avec beau nombre d'information enfin bref....

    Problème :

    Lorsque je fais la somme de plusieurs cellules comportant des chiffres, j'obtiens toujours zéro. Apparement, il interprète les cellules comme des valeurs nulles.

    Si je regarde la propriété de la cellule, je vois que c'est du texte, donc je change et je mets en nombre, seulement, c'est toujours le même problème.

    Si je fais "F2" puis "entrée", ca résoud tous mes problèmes... Sauf que j'ai plus de 2000 lignes et plusieurs fichiers.

    J'ai donc voulu faire une petite macro et étant plutôt mauvais, je galère...

    But de la macro :

    Faire "F2" puis "entrée" de la ligne 2 à 2000 pour les colonnes 4 à 9
    => Shunter en utilisant la fonction replace !

    Avancement macro : 100%

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub Macro1()
     
    Dim i, y, mv
     
    For y = 4 To 9
       For i = 2 To 2300
       mv = Replace(Cells(i, y), ",", ".")
       Cells(i, y).ClearContents
       Cells(i, y) = mv
    Next i
    Next y
    End Sub
    Merci pour votre aide

  2. #2
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Points : 31
    Points
    31
    Par défaut
    Petit état d'avancement :

    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
     
    Sub Macro1()
     
    Dim i, y As Variant
     
    For i = 2 To 2300
    y = 5
     
     
    Cells(i, y).Select
    ActiveCell.FormulaR1C1 = Cells(i, y).Value
     
     
    Next i
     
     
    End Sub
    Ce type de macro ressemble à ce que je cherche mais le résultat n'est pas celui attendu...

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Il y a sûrement d'autres manières, mais je ne retrouve pas, alors restant sur votre idée de départ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Mef()
    Dim i, y, mv
     
    For y = 4 To 9
       For i = 2 To 2300
       mv = Format(Cells(i, y), "0.00")
       Cells(i, y).ClearContents
       Cells(i, y) = mv
    Next i
    Next y
    End Sub

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Points : 31
    Points
    31
    Par défaut
    Tout d'abord, merci pour votre aide mais ca ne résoud pas mon problème...

    Je joins un fichier de sorte de passer à la pratique.

    Sur ce fichier vous remarquerez que la somme est égal à zéro, si vous faites "F2" puis "entrée" sur une cellule, le chiffre change d'alignement et la somme évolue...

    Je sais pas vraiment pourquoi j'ai ce problème...
    Fichiers attachés Fichiers attachés

  5. #5
    Invité
    Invité(e)
    Par défaut
    Re DVano,

    Voici le code pour ce cas :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Mef()
    Dim i, y, mv
     
    For y = 4 To 9
       For i = 2 To 2300
       mv = Replace(Cells(l, c), ",", ".") 
       Cells(i, y).ClearContents
       Cells(i, y) = mv
    Next i
    Next y
    End Sub

  6. #6
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Points : 31
    Points
    31
    Par défaut
    Merci, problème résolu.

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

Discussions similaires

  1. Problème d'insertion dans une base de donnèes
    Par atout dans le forum Administration
    Réponses: 14
    Dernier message: 27/12/2006, 08h07
  2. Problème de connection avec une base de données
    Par kj_83 dans le forum C++Builder
    Réponses: 4
    Dernier message: 31/10/2006, 16h40
  3. problème d'insertion dans une base de données
    Par belmansour tidjani dans le forum JDBC
    Réponses: 7
    Dernier message: 18/01/2006, 23h13
  4. problème de recherche dans une base de donnée mysql
    Par Xini28 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 24/10/2005, 19h00
  5. problème de recherche dans une base de données
    Par bouzid_mehdi dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 07h47

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