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 :

Travailler AVEC des doublons


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2011
    Messages : 23
    Points : 12
    Points
    12
    Par défaut Travailler AVEC des doublons
    Bonjour

    je suis débutante vba j'ai tout appris sur les forums merci

    j'ai créé un planning avec en lignes toutes les dates du calendrier
    L'utilisateur entre dans la colonne du lieu choisi (salle de spectacle, hall ou autre) le nom de l'évènement et dans la case "cout "adjacente le tarif.

    Les évènements ont souvent le même nom ("expo" '"résidence" "cours de danse" dans l'exemple)



    dans l'exemple la colonne TOTAL affiche n'importe quoi mais c'est une somme toute bête des coûts (ici je n'en ai mis aucun)

    Le résultat souhaité sur un autre onglet est celui ci:
    En Colonne :
    DATE, LIEU, NOM, COUT (les virgules représentent des changements de cellules) :
    mardi 5, salle de spectacle, residence, cout
    mercredi 6, salle de spectacle, residence, cout
    jeudi 7, salle de spectacle, residence, cout
    jeudi 7, hall,expo, cout
    etc


    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Bouton38_Cliquer()
    Dim plage As Range
    Dim cel As Range
    Set plage = Range("E6:E35")
     
    For Each cel In plage
    If cel.Value <> "" Then
    Sheets("LISTING_PREV").Range("A65536").End(xlUp).Offset(1).Value = cel.Value
    Sheets("LISTING_PREV").Range("C65536").End(xlUp).Offset(1).Value = "Salle de spectacle"
    End If
    Next cel
    Set plage = Nothing
    End Sub
    Pour copier les cellules non vides ça marche
    mais pour faire une recherche dans la matrice (copier la date et le cout) c'est impossible car il y a des doublons !! il faut surement que je passe par le n° index de la cellule ou un truc comme ça....
    Je ne sais pas comment gérer les doublons

    De plus mon code je vais devoir le copier 3 fois pour chaque mois car 3 salles, soit 36 fois ce bout de code... je suis sure qu'il y a plus simple

    l'un d'entre vous a t-il traité un problème similaire
    merci

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Salut, pour ta culture personnelle : gestion des doublons Index et Equiv

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 107
    Points : 265
    Points
    265
    Par défaut
    Je me suis permis quelques libertés avec les lignes et colonnes, je n'ai pas trop les yeux en face des trous à cette heure ci. Mais ça devrait marcher avec une simple boucle comme celle ci.


    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
    Sub Bouton38_Click()
        Dim WS As Worksheet
        Dim WS2 As Worksheet
        Dim i As Integer, j As Integer
        Dim a As Integer
        Dim mt(1 To 4) As Variant
        Set WS = ThisWorkbook.Worksheets("TesDonnées")
        Set WS2 = ThisWorkbook.Worksheets("LISTING_PREV")
        a = WS2.Cells(Rows.Count, 3).End(xlUp).Row + 1
        With WS
            For i = 5 To .Cells(Rows.Count, 1).End(xlUp).Row
                For j = 3 To 7 Step 2
                    If .Cells(i, j) <> "" Then
                        mt(1) = .Cells(i, 1)
                        mt(2) = .Cells(4, j)
                        mt(3) = .Cells(i, j)
                        mt(4) = .Cells(i, j + 1)
                    End If
                    WS2.Cells(a, 3).Resize(, 4) = mt
                    a = a + 1
                Next j
            Next i
        End With
     
    End Sub
    ps : Je viendrais verifier dans un litre de café =)

  4. #4
    Membre à l'essai
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2011
    Messages : 23
    Points : 12
    Points
    12
    Par défaut
    AlphaScorpi MERCI à toi !!

    Voici mon CALENDRIER avec ton bout de code sur le bouton "CLOTURER"
    Regarde sur le deuxieme onglet le résultat si par hasard tu as le temps d'y jetter un oeil ... je vais me documenter pour mieux comprendre mais ça a l'air fantastique comme piste
    Fichiers attachés Fichiers attachés

  5. #5
    Membre à l'essai
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2011
    Messages : 23
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par kiki29 Voir le message
    Salut, pour ta culture personnelle : gestion des doublons Index et Equiv
    KIKI
    j'avais lu ces deux liens avant de poster mais tout ce que j'ai trouvé c'est comment supprimer les doublons :/ Or moi c'est la situation inverse !

    donc à part développer un truc du genre :
    • compter le nombre de valeurs identiques
    • pour le nombre de valeurs identiques appliquer une fonction index et equiv

    je n'ai pas trouvé de solution "simple", ou du moins, à mon niveau

Discussions similaires

  1. Prbleme de liaison avec des doublons dans le fichier lié.
    Par krak70 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/10/2005, 11h03
  2. Travailler avec des hexadécimaux
    Par LEK dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 18/09/2005, 04h24
  3. [DTS] Import de données avec des doublons
    Par Hotchotte dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 24/03/2005, 14h19
  4. Réponses: 3
    Dernier message: 25/01/2005, 11h27
  5. Travailler avec des bits
    Par Vulvulune dans le forum Langage
    Réponses: 5
    Dernier message: 02/03/2003, 19h09

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