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] sélection et remplacement


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut [VBA-E] sélection et remplacement
    Comment peut ton dire : de la case b6 à b10 tout les chiffre qui ne sont pas egale à 0 devienne 0...Mais tte les case ou il y a des formule je veut pas ki les change

    je cherche mais je ne trouve toujours pas
    peut on dire si ce caractere est un chiffre alors ...

  2. #2
    Membre éclairé Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 576
    Par défaut
    Bonjour,

    En fait je n'ai pas tout compris. Est ce que tu pourrais etre plus clair ?

  3. #3
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    Rebonjour,

    Essaie avec IsNumeric

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    je fais quoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if nombre isnumeric then
    nombre = "0"

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    j'explique le contexte!!!Quand j'ouvre excel tout met tableau son a 0!!!
    Une fois remplie je clique sur le bouton rajouter une feuille. Ce bouton me permet de copier la feuille mais quand il la copie elle est remplie comme la premiere. Donc j'aimerai que quand je clique sur le bouton il m'ouvre une feuille vierge!!!

  6. #6
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    En utilisant la touche pour lire l'aide de VBA, tu as accès aux informations suivantes pour IsNumeric
    IsNumeric, fonction, exemple
    Cet exemple utilise la fonction IsNumeric pour déterminer si une variable peut prendre la valeur d'un nombre.
    Dim MyVar, MyCheck
    MyVar = "53" ' Affectation d'une valeur numérique.
    MyCheck = IsNumeric(MyVar) ' Renvoie True.
    MyVar = "459.95" ' Affectation d'une valeur numérique.
    MyCheck = IsNumeric(MyVar) ' Renvoie True.
    MyVar = "45 Aide" ' Affectation d'une chaîne de caractères.
    MyCheck = IsNumeric(MyVar) ' Renvoie False.
    Penses à utiliser l'aide ! Plein d'informations intéressantes là-dedans !

  7. #7
    Membre éclairé Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 576
    Par défaut
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If isnumeric (Nombre) then
    ......
    End if

  8. #8
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Workbook_NewSheet(ByVal Sh As Object)
    Dim r1 As Single
    Dim cell As Single
    Dim rep As Boolean
    r1 = ActiveWorkbook.Sheets.Count
    cell = Workbooks(1).Sheets(r1).Range("D8").Value
    rep = IsNumeric(cell)
    If rep = True Then
       cell = "0"
    End If
     
    End Sub
    Voila mon programme il ne marche pas je comprend plus rien!!!Au debut je lui dit d'executer le programme quand une nouvelle feuille s'ouvre puis j'ai fait le test pour une cellule mais sa ne marche pas!!!Le programme il faut le mettre ou? Dans le code d'une page?peut importe la page??

  9. #9
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each c In Range("B6:B10").Cells
      If (c <> 0) And Not (c.HasFormula) Then
        c.Value = 0
      End If
    Next c

  10. #10
    Membre éclairé Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 576
    Par défaut
    Ben le code que tu as écrit s'execute dès que ajoute un nouvelle onglet à ton claseeur excel.

    Et tu dis que ca ne marche pas mais à quel niveau ?

  11. #11
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    Je pense que l'évènement Workbook_NewSheet s'applique à la création d'une nouvelle feuille. Le code n'est pas exécuté dans le cas d'une duplication d'une feuille déjà existante, ce qui, je crois, est ton cas

  12. #12
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Par défaut
    Citation Envoyé par cafeine
    Hello,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each c In Range("B6:B10").Cells
      If (c <> 0) And Not (c.HasFormula) Then
        c.Value = 0
      End If
    Next c
    clap clap et merci je note
    je connaissais pas hasformula

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut
    Ce bout de code de toute beauté, tu dois le placer dans le code de ton workbook dans la fonction workbook_open :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_Open()
       place le code ici...
    End Sub
    J'm'excuse si cette précision n'étai pas nécessaire mais il me semblait qu'une ambiguité persistait pour toi sur ce point ^^

  14. #14
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    Ouai mais c'est bein ssa mais rappeler vous que nous remettons que la feuille créer en cours donc il faut indiquez le numero de la feuille et pas que la parti de tableau a remettre a 0

  15. #15
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton8_Click()
     
    Dim r1 As Single
    Dim cell As Single
     
    r1 = ActiveWorkbook.Sheets.Count
    cell = Workbooks(1).Sheets(r1).Range("D8").Value
    If IsNumeric(cell) Then
    cell = "0"
    End If
    End Sub
    J'ai tester ce code avec un bouton il ne marche deja pas!!!
    et l'autre code du dessus je comprend pas avec le "c" ... merci de me repondre

  16. #16
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    voila le bon code mais il n'y a plus qu'a trouver la bonne entete et sa c tres difficile
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
     
    Dim r1 As Single
    Dim i As Single
    r1 = ActiveWorkbook.Sheets.Count
     
    For i = 7 To 26
    If IsNumeric(Workbooks(1).Sheets(r1).Range("D" & i).Value) Then
    If Workbooks(1).Sheets(r1).Range("D" & i).Value <> "" Then
    Workbooks(1).Sheets(r1).Range("D" & i).Value = "0"
    End If
    End If
    Next i
     
    For i = 7 To 26
    If IsNumeric(Workbooks(1).Sheets(r1).Range("E" & i).Value) Then
    If Workbooks(1).Sheets(r1).Range("D" & i).Value <> "" Then
    Workbooks(1).Sheets(r1).Range("E" & i).Value = "0"
    End If
    End If
    Next i
     
    For i = 7 To 26
    If IsNumeric(Workbooks(1).Sheets(r1).Range("F" & i).Value) Then
    If Workbooks(1).Sheets(r1).Range("D" & i).Value <> "" Then
    Workbooks(1).Sheets(r1).Range("F" & i).Value = "0"
    End If
    End If
    Next i
     
    For i = 7 To 26
    If IsNumeric(Workbooks(1).Sheets(r1).Range("G" & i).Value) Then
    If Workbooks(1).Sheets(r1).Range("D" & i).Value <> "" Then
    Workbooks(1).Sheets(r1).Range("G" & i).Value = "0"
    End If
    End If
    Next i
     
    For i = 7 To 26
    If IsNumeric(Workbooks(1).Sheets(r1).Range("H" & i).Value) Then
    If Workbooks(1).Sheets(r1).Range("D" & i).Value <> "" Then
    Workbooks(1).Sheets(r1).Range("H" & i).Value = "0"
    End If
    End If
    Next i

Discussions similaires

  1. [VBA-E]Sélection de plusieurs colonnes
    Par illight dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 27/11/2017, 23h19
  2. [VBA-E] Sélection d'un textbox par le code
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/06/2006, 15h58
  3. [VBA-E]Sélection du total d'un tableau croisé
    Par illight dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/05/2006, 14h51
  4. [VBA-E]Sélection Onglet
    Par os_rouen dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/04/2006, 09h20
  5. VBA EXCEL - Sélection d'une ligne suivant saisie
    Par brethomeau dans le forum Macros et VBA Excel
    Réponses: 48
    Dernier message: 15/11/2005, 17h41

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