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 :

Debuts sur VBA, remplacer toutes les cellules >0 par 1 sur Excel 2010


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Student
    Inscrit en
    Avril 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Student
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Debuts sur VBA, remplacer toutes les cellules >0 par 1 sur Excel 2010
    Bonjour a tous,
    Je suis novice sur VBA et souhaiterais remplacer toutes les donnees >0 par le chiffre 1 dans mon tableau Excel,
    J'ai essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Remplacement_nombres_positifs()
    For Each Cell In Range("F4:LZ42")
    If Cell.Value > 0 Then
    Cell.Value = 1
     
    End If
    Next
    End Sub
    Mais cela ne fonctionne pas, est-ce qu'une ame charitable aurait une explication?
    Merci beaucoup!

  2. #2
    Membre habitué
    Femme Profil pro
    Inscrit en
    Février 2009
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2009
    Messages : 170
    Points : 191
    Points
    191
    Par défaut
    Bonsoir,

    Apparemment, ce code parait pas mal... Mais sans doute serait-il préférable d'utiliser un autre mot que "cell" qui doit être un mot réservé, moi, j'utilise en général le mot français.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    For each Cellule in Range(...)
    If Cellule.value > 0 then
    Cellule.value =1
    end if
    next
    Et si cela ne change rien, je t'indiquerait comment vérifier étape par étape le code, et éventuellement mieux préciser l'emplacement de la range

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Student
    Inscrit en
    Avril 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Student
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour Lilou51, merci pour ta reponse!
    j'ai essaye en remplacant cell par cellule et je recois un mot d'erreur "run-time error '13': Type Mismatch, en surlignant en jaune la ligne "if cellule.value>0 Then"

    Une idee de ce que ca signifie?
    Merci beaucoup,

  4. #4
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Réponse au même sujet (réponse #4)
    http://www.developpez.net/forums/d14...emble-valeurs/
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Student
    Inscrit en
    Avril 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Student
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci Mercatog, ca marche!

  6. #6
    Invité
    Invité(e)
    Par défaut Bonjour,
    Citation Envoyé par labjo14 Voir le message
    Bonjour a tous,
    Je suis novice sur VBA et souhaiterais remplacer toutes les donnees >0 par le chiffre 1 dans mon tableau Excel,
    J'ai essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Remplacement_nombres_positifs()
    For Each Cell In Range("F4:LZ42")
    If Cell.Value > 0 Then
    Cell.Value = 1
     
    End If
    Next
    End Sub
    Mais cela ne fonctionne pas, est-ce qu'une ame charitable aurait une explication?
    Merci beaucoup!
    Si tu remplace les valeur à zéro sur la cellule entière par du texte en suite tous ce qui est numérique par "0" et enfin 0 par 1 et le texte par 0
    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
    Sub test()
    Dim Plage As String
    Plage = "F4:LZ42"
     ReplaceZéro Range(Plage)
     For i = 1 To 9
        ReplaceChar Range(Plage), CStr(i), "0"
     Next
      ReplaceChar Range(Plage), "0", "1"
       ReplaceChar Range(Plage), "[A]", "0"
    End Sub
    Sub ReplaceZéro(R As Range)
        R.Replace What:="0", Replacement:="[A]", LookAt:=xlWhole, _
            SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    End Sub
    Sub ReplaceChar(R As Range, Val1 As String, Val2 As String)
        R.Replace What:=Val1, Replacement:=Val2, LookAt:=xlPart, SearchOrder _
            :=xlByColumns, MatchCase:=False, SearchFormat:=False, ReplaceFormat:= _
            False
     
    End Sub

Discussions similaires

  1. [DEBUTANT] Remplacer toutes les occurences de parenthèses
    Par rambc dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/12/2010, 07h37
  2. [XL-2007] modifier dans une plage toutes les cellules qui contiennent un mot précis en VBA
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/10/2010, 18h24
  3. [XL-2003] Remplacer toutes les cellules vides
    Par flet le kid dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/05/2009, 17h55
  4. Réponses: 7
    Dernier message: 04/08/2008, 23h31
  5. [VBA-E] supprimer le contenu de toutes les cellules d'une feuille
    Par BipBip2 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/08/2004, 15h13

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