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 :

modifier le contenu d'une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 25
    Points : 10
    Points
    10
    Par défaut modifier le contenu d'une cellule
    Bonjour,

    Est ce possible en vba de modifier le contenu de mes cellules et si oui de quelle façon?
    Sachant que j'ai entre 1000 et 1200 cellules a modifier.
    J'ai besoin de supprimer les parenthères et ce qu'elles contiennent.
    exemple :
    Bonjour (25)

    ici je dois supprimer : (25)

    voici ce que j'ai deja fais:
    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
     
    Sub efface()
     
    Dim Cel As Range
    Set Cel = Range("b2")
     
    While Cel <> ""
     
    'theoriquement la modification se fait ici
     
    Set Cel = Cel.Offset(1, 0)
    wend    
     
     
    End Sub
    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 137
    Points : 130
    Points
    130
    Par défaut
    est-ce que la parenthèse est toujours de la même longueur?

  3. #3
    Membre habitué Avatar de Ania
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Points : 134
    Points
    134
    Par défaut
    voici un ti bout de code
    qui te permettre de parcourir les cellules de la colonne "B" et de couper tout ce qu'il y a apres la première parenthèse.

    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
    Sub efface()
     
    Dim i As Integer, j As Integer
    Dim MyString As String, MyStringSSparenthese As String
     
      Do While Cells(i, 2).Text <> ""
        MyString = Cells(i, 2).Text
     
        For j = 1 To Len(MyString)
          If Mid(MyString, j, 1) = "(" Then
            MyStringSSparenthese = Left(MyString, j - 1)
            Exit For
          End If
        Next j
        Cells(i, 2) = MyStringSSparenthese
        i = i + 1
      Loop
     
    End Sub
    tiens nous au courant et bonne continuation

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    linda15975 : les longeurs varient, il peut y avoir des nombres ou des lettres.

    Ania : je viens de faire un copie/coller, j'ai l'erreur 1004 : erreur définie par l'application ou par l'objet.
    Y a t'il des variables a adapter a mon fichier excel?

    Merci

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 137
    Points : 130
    Points
    130
    Par défaut
    Voici une autre méthode qui écrit la chaine sans parenthèse dans la colonne d'à coté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Cel As Range, Position As Integer, ChaineSSParenthese As String
    Dim Cel2 As Range
     
    Set Cel = Range("A1")
     
    While Cel <> ""
    Position = InStr(Cel, "(")
    ChaineSSParenthese = Left(Cel, Position - 1)
    Set Cel2 = Cel.Offset(0, 1)
    Cel2 = ChaineSSParenthese
    Set Cel = Cel.Offset(1, 0)
    Wend

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 137
    Points : 130
    Points
    130
    Par défaut
    si tu veux utiliser le code d'Ania, tu as juste à rajouter au début du code car si il n'est pas initialisé, i vaut 0 et la cellule (0,1) n'existe pas.

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par linda15975
    Voici une autre méthode qui écrit la chaine sans parenthèse dans la colonne d'à coté:
    ce n'est pas tout a fait ce que je souhaite, il faut que les parenthèses et ce qu'il s'y trouve a l'intérieur soient effacés

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 137
    Points : 130
    Points
    130
    Par défaut
    Il suffit alors d'écrire dans la même cellule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim Cel As Range, Position As Integer
     
    Set Cel = Range("A1")
     
    While Cel <> ""
    Position = InStr(Cel, "(")
    Cel = Left(Cel, Position - 1)
     
    Set Cel = Cel.Offset(1, 0)
    Wend

  9. #9
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    tu peux aussi faire une macro du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub efface()
    Dim i As Integer
    Dim str As String
    Dim strTemp
     
    str = Cells(1, 1).Value
    i = 1
    While Mid(str, i, 1) <> "("
        i = i + 1
        strTemp = Mid(str, 1, i - 1)
    Wend
    MsgBox (strTemp)
    End Sub
    Après il faut que tu mette une boucle sur la ligne de la cellule
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  10. #10
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Finalement je l'ai fait en Perl (plus simple pour moi)
    Merci pour votre participation

Discussions similaires

  1. [LibreOffice][Tableur] Modifier le contenu d'une cellule aptès MeFC
    Par fransix dans le forum OpenOffice & LibreOffice
    Réponses: 21
    Dernier message: 16/11/2013, 12h07
  2. Modifier le contenu d'une cellule d'un tableau dynamiquement
    Par SPACHFR dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/08/2009, 16h45
  3. Comment modifier le contenu d'une cellule excel avec C#
    Par roujij dans le forum Windows Forms
    Réponses: 3
    Dernier message: 05/08/2009, 14h18
  4. Modifier le contenu d'une cellule dynamiquement
    Par SPACHFR dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/06/2009, 17h58
  5. modifié le contenu d'une cellule d'un fichier EXCEL
    Par john_wili dans le forum Documents
    Réponses: 0
    Dernier message: 26/01/2009, 11h34

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