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 :

Passage d'un cas particulier à l'étude d'une colonne [Débutant(e)]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Février 2017
    Messages : 4
    Par défaut Passage d'un cas particulier à l'étude d'une colonne
    Bonjour à tous,

    Débutant sur Excel j'ai laborieusement construit une macro pour effectuer les actions suivantes :
    1) Extraire les Adresses mail dans les cellules de la colonnes F
    --> Les cellules de la colonne F ont le format suivant : XXXXXX@yyyy.fr: NOM, Prénom$XXXXXX@yyyy.fr: NOM, Prénom$...
    2) lister les adresses dans une autre feuille en éliminant les doublons.

    J'ai réussi à faire quelque chose qui marche sur un cas particulier : 3ieme Macro ci-dessous : Sub ActeursSupplementaires()
    Par contre lorsque j'essaie de passer du cas particulier au cas général, à savoir ne pas étudier une chaine de texte mais toutes les cellules de la colonne F, la macro se "casse". Malgré mes efforts je n'arrive pas à résoudre le problème....

    L'erreur "5" tombe sur la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Tableau(j) = Left(Tableau(j), InStr(Tableau(j), ":") - 1)
    . Et pas de problème sur la macro de cas particulier : Sub ActeursSupplementaires()

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    Sub Listingauteurs()
        Dim ColonneF As String
        Dim Tableau() As String
        Dim GAIA() As String
        Dim h, i, j, k, l, m, n As Integer
        Dim Doublon As Boolean
        Dim Auteurs As Range
     
        n = 1
        k = 0
     
        Worksheets("Base_IDEAS").Activate
        For h = 2 To 500
     
        ColonneF = Cells(h, 6).Value
     
        ReDim GAIA(k)
     
            Tableau = Split(ColonneF, "$")
     
        For j = 0 To UBound(Tableau)
     
            Tableau(j) = Left(Tableau(j), InStr(Tableau(j), ":") - 1)
     
        Next j
     
        'boucle sur le tableau pour visualiser le résultat
        For i = 0 To UBound(Tableau)
            'Debug.Print Tableau(i)
            GAIA(k) = Tableau(i)
            k = k + 1
            ReDim Preserve GAIA(k)
     
        Next i
     
        For k = 0 To UBound(GAIA)
            Debug.Print GAIA(k)
        Next k
     
        Next h
     
     Debug.Print ("passage à l'étape suppression de Doublons")
     
     
     
    Worksheets("ListeGAIA").Activate
    Range(Cells(1, 1), Cells(UBound(GAIA), 1)) = Application.Transpose(GAIA)
     
     Call GestionDoublons
     
     End Sub
     
     Sub GestionDoublons()
     
    Dim l As Integer
      l = 2
     
     Range("A2").Sort Range("A2"), xlAscending, Header:=xlNo
     While Cells(l, 1).Value <> ""
        If Cells(l, 1).Value = Cells(l - 1, 1).Value And Cells(l, 1).Value <> "" Then
            Cells(l, 1).Delete
            l = l - 1
     
        End If
     
        l = l + 1
    Wend
     
    End Sub
     
    Sub ActeursSupplementaires()
     
      Dim Tableau() As String
        Dim Auteurs As String
        Dim GAIA() As String
        Dim h, i, j, k, l, m, n As Integer
        Dim Doublon As Boolean
     
     
        k = 0
        n = 1
        ReDim GAIA(k)
     
     
     
     
            Tableau = Split("AF1065@grdf.fr: FAUCHER, Helene$OG1054@grdf.fr: HAGUE, Mickael$KY1042@grdf.fr: AUDEBERT, Francois$DQ1042@grdf.fr: DE LA SALLE, BENOIT", "$")
     
        For j = 0 To UBound(Tableau)
     
            Tableau(j) = Left(Tableau(j), InStr(Tableau(j), ":") - 1)
     
        Next j
     
        'boucle sur le tableau pour visualiser le résultat
        For i = 0 To UBound(Tableau)
            'Debug.Print Tableau(i)
            GAIA(k) = Tableau(i)
            k = k + 1
            ReDim Preserve GAIA(k)
     
        Next i
     
        For k = 0 To UBound(GAIA)
            Debug.Print GAIA(k)
        Next k
     
     Debug.Print ("passage à l'étape suppression de Doublons")
     
     
     
    Worksheets("ListeGAIA_Acteurs_supp").Activate
    Range(Cells(1, 1), Cells(UBound(GAIA), 1)) = Application.Transpose(GAIA)
     
     Call GestionDoublons
     
    End Sub
    Pouvez-vous me venir en aide ?

    Merci par avance pour votre contribution

    Pilsoner
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Effacer (cas particulier) d'un champ de formulaire
    Par frog43 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 17/05/2006, 18h29
  2. Réponses: 27
    Dernier message: 12/01/2006, 11h04
  3. cas particulier agaçant
    Par devdébuto dans le forum C
    Réponses: 17
    Dernier message: 13/12/2005, 23h45
  4. Enregistrement courant après refresh [cas particulier]
    Par say dans le forum Bases de données
    Réponses: 8
    Dernier message: 02/08/2005, 15h59

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