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 :

séparateur point virgule


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 100
    Points : 55
    Points
    55
    Par défaut séparateur point virgule
    Bonjour,
    dans une colonne, j'ai une liste de nombre, certaine fois, dans une meme colonne, j'ai deux chiffre séparé par un point virgule :

    exemple :
    colonne A : colonne B :

    1______________54
    2;1____________60
    3;2____________67
    4;2;1___________1

    J'aimerai ensuite faire une somme.si
    Par exemple, faire la somme de la colonne B si dans la colonne A il y a 1 (seul ou pas).
    Exemple pour 1 : somme.si = 54+60+1 = 115
    Ce qui serait bien c'est de le faire uniquement en macro (pas de formule ou on sépare la cellule de la colone A en chiffre sans

    Je vous remercie pour votre aide.
    Loïc

  2. #2
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Salut,
    Voici un petit code qui répond à ta question, attention si tu as deux 1 dans ta cellule en colonne A un seul sera pris en compte...

    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
    Sub Somme()
     
    Dim DerLig As Long, MonTotal As Long 'Variables pour définir la plage en colonne 1
    Dim MaRech As Range 'Variable pour récupérer l'adresse de la cellule qui correspond à la recherche
    Dim firstaddress As String 'Récupère la première adresse trouver pour éviter une boucle infiine
     
    DerLig = Sheets("TaFeuille").Cells(Columns(1).Cells.Count, 1).End(xlUp).Row 'Détermine la dernière ligne remplie en colonne A
     
    With Sheets("TaFeuille").Range(Cells(1, 1), Cells(DerLig, 1)) 'Détermine la plage dans laquelle chercher
        Set MaRech = .Find("1", LookIn:=xlValues) 'Recherche le caractère 1, !! les "" sont important car on ne peut pas considérer comme nombre
        If Not MaRech Is Nothing Then 'Si il trouve...
            firstaddress = MaRech.Address 'Affecte la première adresse
            Do
                MonTotal = MonTotal + Sheets("TaFeuille").Cells(MaRech.Row, 2) 'Fait le total selon le nombre en colonne 2 de la ligne qui correspond à l'élément trouvé
                Set MaRech = .FindNext(MaRech) 'Cherche le prochain caractère "1"
            Loop While Not MaRech Is Nothing And MaRech.Address <> firstaddress 'Fait la boucle jusqu'à ce que l'adresse de la recherche soit égale à la première adresse => pas de boucle infinie
        End If
    End With
     
    Sheets("TaFeuille").Cells(DerLig + 1, 2) = MonTotal
     
    End Sub
    A+

  3. #3
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 100
    Points : 55
    Points
    55
    Par défaut
    Merci pour ces infos, malheureusement, je pense que ca ne fonctionne qu'avec des petits nombre :

    Si dans une colonne j'ai "11", vu que je recherche une cellule ou il y a ecrit "1", il va l'a prendre en compte et c'est pas ce que je veux.

    je pense que je vais continuer de chercher.
    Si jamais tu as une idée.

  4. #4
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Re,
    J'ai bien une autre idée mais pas le temps de rédiger pour l'instant...
    L'idée serait de passer par un Tablo, donc faire un split pour alimenter le tablo, boucler sur la Tablo et trouver la valeur cherchée.

    En faisant un recherche dans le forum Excel avec le mot clef Split tu devrais trouver d'autres Post qui traitent du sujet.

    A+

Discussions similaires

  1. [Toutes versions] Export csv ou txt avec largeur fixe et séparateur point virgule
    Par shizzle971 dans le forum Excel
    Réponses: 1
    Dernier message: 07/05/2014, 21h56
  2. [XL-2003] Compatibilité séparateur décimal (point/virgule)
    Par Simon27 dans le forum Excel
    Réponses: 3
    Dernier message: 30/10/2009, 13h00
  3. csv avec séparateur point-virgule
    Par jacques chez pago dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/10/2009, 18h25
  4. Réponses: 4
    Dernier message: 17/03/2009, 20h50
  5. Séparateur virgule ou point virgule pour validation données
    Par INeedHelp dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/05/2008, 12h12

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