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 :

Récupérer valeurs d'une colonne sans doublons


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut Récupérer valeurs d'une colonne sans doublons
    Bonjour,
    je suis débutant, j'ai posté un message l'autre jour où on m'a répondu de faire tout seul, ce que j'ai fait en m'aidant des autres posts.
    Mais là je suis réellement dans l'impasse.
    Pour commencer mon programme, j'ai besoin de lister les numéros de la 1ere colonne A.
    Je m'explique :
    dans la colonne A, j'ai des numéros, chaque numéro peut être répété plusieurs fois. J'aimerais récupérer chaque numéro une seule fois, et les copier en colonne dans une autre feuille.
    Exemple:
    100
    100
    100
    100
    101
    101
    102
    103
    104
    104
    105
    105
    105
    Et j'aimerais inscrire dans une colonne d'une autre feuille:
    100
    101
    102
    103
    104
    105
    Donc en triant les numéros mais en ne répétant pas les doublons.
    J'ai vu plusieurs posts sur éliminer les doublons ou autre, mais je n'ai pas réussi à me débrouiller.
    Merci de votre aide...

  2. #2
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1:A100").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Worksheets("Feuil2").Range("A1"), Unique:=True

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Si tu fais référence à cette discussion, je vais clarifier les choses.

    Venir ici en disant "je dois faire ça et je n'y arrive pas" ne t'amènera pas beaucoup de réponses.

    Par contre, si tu nous montres ce que tu as fait (ton code), même plein de fautes, on pourra te guider, t'aider et te conseiller.

    Juste une chose, si tu trouves tout seul, mets un message dans la discussion concernée pour dire comment tu en es sorti. C'est nettement plus sympa pour ceux qui essayent de donner un coup de main.

    Pour ton problème actuel, tu peux t'inspirer de ça en sachant que ce code supprime dans la feuille d'origine.
    A toi de voir pour copier dans une autre feuille.

    Et, encore une fois, si tu butes sur un point précis, poste-nous ce que tu as fait ainsi que le message d'erreur et/ou le comportement anormal constaté.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    Merci beaucoup.Cela répond à la 1ère étape de mon problème.
    Dans cette 1ère colonne j'ai des numéros qui sont maintenant coller sur une autre feuille. PARFAIT
    Dans ma 1ère feuille, j'ai deux colonnes supplémentaires qui indiquent:
    _NOM
    _PRENOM

    Comment faire une sorte de RECHERCHEV en VBA, pour que, à partir des numéros qui sont collés sur la Feuil2, j'aille chercher dans la feuille 1 les valeurs des deux autres colonnes à cotés, tout en listant encore en éliminant les doublons et en concaténant les 3ères lettres de chaque mot.
    Je sais concaténer, et prendre les 3ères lettres! LOL
    Mais pas comment faire cette recherche de valeur dans l'autre feuille.

    Exemple:
    100 | Jean | Dor
    100 | Jean | Rub
    100 | Sylvie | Rib
    101 | Luc | Art
    102 | Michel | Por
    102 | Robert | Nou

    Pour avoir:
    100 | Jea / Syl | Dor / Rub / Rib
    101 | Luc | Art
    102 | Mic / Rob | Por / Nou

    Si vous pouvez me donner quelques pistes je vous serez super reconnaissant!
    J'essaie de regarder sur vos différents sites de tuto...

    Salut Alain,
    Beh j'avais bataillé en utilisant vos différents posts et en essayant de les adapter.
    Quand j'ai réussi j'ai cliquer sur Résolu pour afficher que c'était bon
    Je n'avais pas de code car je débute et je ne connaissais pas le code VBA...
    Merci.

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par paflolo
    J'essaie de regarder sur vos différents sites de tuto...
    Avant de chercher des tutos, essaye d'imaginer comment tu ferais manuellement. Je veux dire, quelle serait la logique à appliquer.
    Cela s'appelle l'analyse et doit être fait avant de coder.

    Le fait d'écrire les étapes permet d'y voir clair sur la façon de coder.

    Si tu n'arrives pas à coder une des étapes (une à la fois) montre-nous ton algorithme et la partie que n'arrives pas à traduire en code.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    J'arrive à faire ma fonction VLOOKUP dynamique, c'est cool.
    J'arrive donc à afficher simplement pour commencer:

    50388 oui
    50492 ok
    50513 non

    Mais Problème!! Possibilité d'avoir plusieurs valeurs différentes pour un numéro initial! Comment concaténer toutes les valeurs qui apparraissent alors? La fonction VLOOKUP m'est-elle nécessaire alors?

    Exemple de ce que j'ai dans la Feuil1:

    50388 oui
    50388 ok
    50388 re
    50492 ok
    50513 non


    Comment obtenir sur la Feuil2??
    50388 oui / ok / re
    50492 ok
    50513 non


    Voilà mon code pour le moment
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Macro4()
    Dim Valeur
    Valeur = 1
    Sheets("Feuil5").Select
    Range("F1").Select
    For i = 0 To 2
    ActiveCell.Offset(0, 0).Value = "=VLookup(E" & Valeur & ",A1:B3,2,false)"
    Valeur = Valeur + 1
    ActiveCell.Offset(1, 0).Select
    Next i
    End Sub

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Tu peux faire cela sans macro avec simplement :
    1/ tri sur colonne 1 (reference)
    2/ 2 formules excel :
    1e pour concatener les valeurs pour une meme reference qui se repete sur 2 lignes, càd si la référence est identique à celle de la ligne en dessous.
    2e pour marquer la 1ere ligne de chaque reference, càd si la référence est différente de la ligne du dessus
    3/ et un filtre automatique sur la colonne de la 2e formule

    Si tu peux faire ca manuellement avec des formules excel, ca ne dervait pas etre trop complique avec une macro.
    Veux tu tjs faire des macros pour ce probleme? si oui voici UNE marche à suivre :
    1/ tri par la macro
    2/ une variable stockant les valeurs : la variable concatène les valeurs tant que la référence est la même, avec le séparateur que tu veux, si tu as plusieurs colonnes de valeurs il te faut autant de variables
    3/ si la référence est différente de la ligne du dessous, écrire cette référence dans la ligne suivante de la 2e feuille, ecrire dans la cellule à coté le texte contenu dans la variable (cf. 2/) et réinitialiser cette variable = "" et continuer la boucle

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir

    tu peux tester cette macro


    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
    Sub Regrouper()
    Dim Ws1 As Worksheet, Ws2 As Worksheet
    Dim Cell As Range, Plage As Range
    Dim x As Integer, y As Integer
     
    Set Ws1 = Worksheets("Feuil1")
    Set Ws2 = Worksheets("Feuil2")
     
    For Each Cell In Ws1.Range("A1:A" & Ws1.Range("A65365").End(xlUp).Row)
        x = 0
     
        If Cell.Row = 1 Then
            Ws2.Range("A1") = Cell
            Ws2.Range("B1") = Cell.Offset(0, 1)
        Else
            Set Plage = Ws2.Range("A1:A" & Ws2.Range("A65365").End(xlUp).Row)
     
            On Error Resume Next
            x = Application.WorksheetFunction.Match(Cell, Plage, 0)
            On Error GoTo 0
     
            If x = 0 Then
                Ws2.Range("A" & Ws2.Range("A65365").End(xlUp).Row + 1) = Cell
                Ws2.Range("B" & Ws2.Range("A65365").End(xlUp).Row) = Cell.Offset(0, 1)
                Else
                y = Ws2.Cells(x, 1).End(xlToRight).Column + 1
                Ws2.Cells(x, y) = Cell.Offset(0, 1)
            End If
     
        End If
     
    Next Cell
    End Sub

    bonne soirée
    michel

  9. #9
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    Merci de m'avoir répond à vous deux.
    dadavyvy : Oui je veux faire une macro parce que le nombre de données varie et une macro peut tout me traiter d'un coup, et puis les formules je pense pas que ce soit aussi automatisé qu'une macro.

    SilkyRoad :
    J'ai essayé de faire tourner ta macro mais elle ne marche pas. Il y a une erreur à la fin du code quand je lance la macro, à ce niveau:
    Ws2.Cells(x, y) = Cell.Offset(0, 1)
    De plus, bien que la macro plante, elle m'ajoute des "1" sur toute la ligne 2.
    Je comprends pas trop??

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu connais le filtre élaboré sans doublon ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Range("A1").CurrentRegion.Sort Key1:=Range("A1"), Order1:=xlAscending, _
           Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
           Orientation:=xlTopToBottom
        Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
           CriteriaRange:= Columns("A:A"), CopyToRange:=Range("D1"), _
           Unique:=True
    Cette procédure effectue le tri de tes données selon la colonne 1 et copie, colonne D, la colonne A sans doublon.
    Tu peux aussi mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Range("A1").CurrentRegion
    ... et tu enchaînes le tri et le filtre... avant un End with
    Tu dis

    NB - La copie sans doublon ne peut se faire que sur la même feuille. Si tu veux que tes données soient copiées sur une autre feuille, tu fais ça après

  11. #11
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    Merci ouskel'n'or pour ton message.
    En effet çà met tout en colonne en supprimant les doublons.
    J'ai 8 colonnes à exploiter, en fait je cherche à faire une sorte de Tableau Croisé Dynamique mais en mettant tout en ligne et, quand il y a plusieurs paramètres, les concaténer dans la même cellule.
    Exemple fichier initial:
    100 | un | jour
    100 | un | nuit
    100 | deux | jour
    101 | un | aprem
    101 | deux | jour

    Exemple résultat souhaité:
    100 | un / deux | jour / nuit
    101 | un / deux | aprem / jour

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Ok, tu aurais dû préciser ça dès le départ, la méthode que je t'ai donnée ne fonctionne pas dans ce cas là.
    Ta question rejoint celle de Toto14, ici http://www.developpez.net/forums/sho...d.php?t=221678
    Mais comme j'ai l'impression que c'est un exercice, je me suis contenté de donner la démarche. Essaie de voir ce que j'ai mis et de proposer quelque chose On pourra toujours corriger en cas de besoin
    A+

  13. #13
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    Non NON ce n'est pas un exercice!
    C'est pour mon boulot.Je perds un temps fou à faire tous ces traitements manuellement et j'essaie de faire çà automatiquement.

    Numéro Code année mois précis Produit Type

    50388 1 2007 Jun non verre petit
    50388 1 2007 Jun non verre champagne
    50388 1 2007 Jun oui verre petit
    50388 1 2007 Jun oui verre champagne
    50444 1 2007 Sept non verre petit
    50444 1 2007 Sept non verre champagne
    50444 1 2007 Sept oui verre petit
    50444 1 2007 Jun oui verre champagne

    j'arrive déjà à obtenir ceci. Bien entendu le nombre de lignes est bien supérieur mais pour l'exemple cela suffit largement
    Le code pour obtenir çà est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Range("A1").CurrentRegion.Sort Key1:=Range("A1"), Order1:=xlAscending, _
           Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
           Orientation:=xlTopToBottom
    Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
           CriteriaRange:=Columns("A:A"), CopyToRange:=Range("I1"), _
           Unique:=True
    J'ai essayé de faire tourner une macro rien qu'avec un seul numéro:
    Numéro Code année mois précis Produit Type

    50388 1 2007 Jun non verre petit
    50388 1 2007 Jun non verre champagne
    50388 1 2007 Jun oui verre petit
    50388 1 2007 Jun oui verre champagne

    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 Remplira()
     
    Range("A1:A10000").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Worksheets("Feuil4").Range("A1"), Unique:=True
     
    Range("B1:B10000").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Worksheets("Feuil4").Range("B1"), Unique:=True
     
    Range("C1:C10000").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Worksheets("Feuil4").Range("C1"), Unique:=True
     
    Range("D1:D10000").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Worksheets("Feuil4").Range("D1"), Unique:=True
     
    Range("E1:E10000").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Worksheets("Feuil4").Range("E1"), Unique:=True
     
    Range("F1:F10000").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Worksheets("Feuil4").Range("F1"), Unique:=True
     
    Range("G1:G10000").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Worksheets("Feuil4").Range("G1"), Unique:=True
     
    End Sub
    çà me donne un résultat en colonne de la forme:

    Numéro | Code | année | mois | précis | Produit | Type
    50388 | 1 | 2007 | Jun | non | verre | petit
    | oui | champagne


    Il me faut mettre les valeurs multiples concaténées dans la même cellule pour avoir:
    Numéro | Code | année | mois | précis | Produit | Type
    50388 | 1 | 2007 | Jun | non/oui | verre | petit/champagne


    Là, je bloque....

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Je vois, en plus de concatener les valeurs, tu ne veux avoir q'une seule fois chaque valeur.
    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
     
    Set f1 = Feuil1 ' Ta feuille de données
    Set f2 = Feuil5 ' Ta feuille de résultats
    nbcol = 7   ' Nombre de colonnes à analyser
    Dim tabl  ' Tableau temporaire qui concatènera les valeurs
    nbref = 1 ' Nb de références sans doublon
    tabl = Array("", "", "", "", "", "", "", "") ' Initialisation du tableau
     
    ' Tri par la référence
    f1.Cells.Sort Key1:=Range("A1"), Order1:=xlAscending, _
        Header:=xlGuess, OrderCustom:=1, MatchCase:=False
     
    ' Boucle pour parcourir les lignes en comparant la référence entre deux lignes consécutives
    For i = 2 To f1.UsedRange.Rows.Count
        tabl(1) = f1.Cells(i, 1) ' référence
        ' Pour chaque colonne, vérifie si la valeur est déjà stockée
        For j = 2 To nbcol
            If Trim(f1.Cells(i, j)) <> "" Then
                If Instr(1, tabl(j), "/ " & f1.Cells(i, j) & " /", vbTextCompare) > 0 Then
                    ' rien car la valeur y est déjà
                Else ' Concatène la valeur
                    tabl(j) = tabl(j) & "/ " & f1.Cells(i, j) & " /"
                End If
            End If
        Next j
        ' Comparaison de la référence avec la ligne suivante
        If Not f1.Cells(i,1) = f1.Cells(i + 1,1) Then
            f2.Cells(nbref + 1, 1) = tabl(1)
            For j = 2 to nbcol
                temp = Replace(tabl(j), "//", "/", vbTextCompare)
                If Len(temp) > 4 And Left(temp, 1) = "/" And Right(temp, 1) = "/" Then
                    f2.Cells(nbref + 1, j) = Mid(temp, 3, Len(temp) - 4)
                Else: f2.Cells(nbref + 1, j) = temp
                End If
            Next j
            nbref = nbref + 1
            tabl = Array("", "", "", "", "", "", "", "") ' Ré-initialisation du tableau
        End If
    Next i
    Désolé la derniere partie du code n'est pas tres commentée, manque de temps...

  15. #15
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    MERCI BCP POUR CE CODE mais çà ne marche pas car à cette ligne :

    temp = Replace(tabl(j), "//", "/", vbTextCompare)
    çà met met un message d'erreur : erreur de compilation,sub ou fonction non définis
    C'est le replace. coment faire?

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Oups autant pour moi. La syntaxe correcte est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Replace(tabl(j), "//", "/", , , , vbTextCompare)

  17. #17
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    Heu çà me met toujours le même message d'erreur....

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Essaie :
    Application.WorksheetFunction.Substitute(tabl(j), "//", "/")
    à la place du Replace...

    Par contre je ne sais pas non plus si ca fonctionne en VBA97...

  19. #19
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Replace existe en VBA97 MAIS A une toute autre fonction (et syntaxe)
    On ne peut pas l'utiliser dans ce cas
    Tu as deux solutions :
    Soit tu te crées une fonction remplaçant le Replace, soit tu le fais en direct
    Le mieux étant la fonction que tu peux utiliser ailleurs
    Tu peux t'inspirer de ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    tabl = "Moi//toi"
    Slasch = InStr(tabl, "//")
    tabl = Left(tabl, Slasch - 1) + Mid(tabl, Slasch + 1, Len(tabl) - Slasch)
    MsgBox tabl
    A+

  20. #20
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    MERCI à tous !!
    C'est RESOLU!

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

Discussions similaires

  1. [XL-2007] Récupérer valeurs d'une colonne vers une liste déroulante sur autre colonne d'une nouvelle feuille
    Par redhotchilipeppers dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/07/2014, 17h26
  2. Formule compter valeurs d'une colonne sans doublons
    Par spark_legion dans le forum Modélisation
    Réponses: 2
    Dernier message: 05/05/2011, 14h12
  3. [XL-2000] Dernière valeur d'une colonne (sans VBA)
    Par Simon27 dans le forum Excel
    Réponses: 2
    Dernier message: 25/06/2009, 17h57
  4. Réponses: 4
    Dernier message: 01/08/2007, 15h35
  5. Récupérer la valeur d'une colonne de la ligne d'un DBGrid
    Par Oluha dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/10/2005, 10h22

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