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 :

Gestion des doublons VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Femme Profil pro
    Webdesigner
    Inscrit en
    Novembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Novembre 2014
    Messages : 24
    Par défaut Gestion des doublons VBA
    Bonsoir,

    J'ai pu obtenir ce code dans ce forum que j'ai un peu adapté et qui m'a bien aidé. J'aimerais cependant encore mieux l'adapter mais je n'y arrive pas. Ce script permet le transfert de certaines données d'une feuille vers une autre mais j'aimerais y intégré un message d'erreur s'il y a doublon (colonne A)

    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
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cel As Range, derLig As Integer, lignVide As Integer
    If Target.Column <> 12 Then Exit Sub
    derLig = Range("A" & Rows.Count).End(xlUp).Row
     
    If Target.Row <> derLig Then Exit Sub
    If ActiveCell = "RP" Then
    'il y a 7 valeurs à transférer
    v1 = Cells(derLig, 1): v2 = Cells(derLig, 2): v3 = Cells(derLig, 4)
    v4 = Cells(derLig, 8): v5 = Cells(derLig, 9): v6 = Cells(derLig, 11)
    'Ouvrir la feuill GM
    Sheets("GM").Activate
    Worksheets("GM").Unprotect Password:="XENNA"
     
    'Recherche de la première ligne vide
    lignVide = Sheets("GM").Range("A" & Rows.Count).End(xlUp).Row + 1
    'Copie des valeurs dans la feuille active
    With ActiveSheet
        .Cells(lignVide, 1) = v1 
        .Cells(lignVide, 2) = v3
        .Cells(lignVide, 4) = v6
        .Cells(lignVide, 5) = v2
        .Cells(lignVide, 8) = v4
        .Cells(lignVide, 9) = v5
    End With
     
     
    Worksheets("GM").Protect Password:="XENNA"
    End If
     
     
    End Sub
    Merci !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Un exemple à incorporer dans ton code.
    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
    Private Sub Worksheet_Change(ByVal Target As Range)
     Dim derLig As Integer, adresse As String
     If Target.Column <> 2 Then Exit Sub 'exemple avec saisies en A et B
     derLig = Range("A" & Rows.Count).End(xlUp).Row
     If Target.Row <> derLig Then Exit Sub
         v1 = Cells(derLig, 1)
            'Recherche si la nouvelle donnée existe déjà dans la colonne A.
            adresse = Columns(1).Find(What:=v1, After:=Range("A" & derLig).Offset(1, 0), _
            LookAt:=xlWhole, SearchDirection:=xlNext).Address
     
            'Si l'adresse de cellule trouvée ne correspond pas à la cellule modifiée, cela
            'signifie qu'il y a un doublon dans la colonne.
            If adresse <> Range("A" & derLig).Address Then _
                MsgBox "La donnée '" & v1 & _
                "' existe déjà dans la cellule " & adresse
    End Sub

  3. #3
    Membre averti
    Femme Profil pro
    Webdesigner
    Inscrit en
    Novembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Novembre 2014
    Messages : 24
    Par défaut
    Bonsoir,

    Merci bcp pour votre proposition mais je n'arrive pas à l'intégrer dans mon code , pourriez-vous m'aider davantage ?

    Merci

  4. #4
    Membre averti
    Femme Profil pro
    Marketing
    Inscrit en
    Octobre 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Marketing

    Informations forums :
    Inscription : Octobre 2014
    Messages : 17
    Par défaut
    Bonjour,

    Je me permets de te répondre.

    Ce code est à intégrer dans le code de la feuille de ton classeur sur laquelle tu veux interdire les doublons ^^.

    Quand tu as ta liste d'objets VBA en faisant Alt+F11, tu as une sous liste Microsof Excel Objects et là tu as tes noms de feuilles, tu cliques sur ta feuille concernée et tu colles ce code.

    Polyasandre.

  5. #5
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    Bonjour,

    Sauf incompréhension de ma part par manque de café chronique, vous pouvez supprimer directement les doublons par la fonction RemoveDuplicates (existe aussi en Excel classique).
    Si ça peut aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InpRng.RemoveDuplicates Columns:=(RngColAR), Header:=RngAsHeader

  6. #6
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour le fil, bonjour le forum,

    Citation Envoyé par vinc_bilb Voir le message
    Bonjour,

    Sauf incompréhension de ma part par manque de café chronique, vous pouvez supprimer directement les doublons par la fonction RemoveDuplicates (existe aussi en Excel classique).
    Si ça peut aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InpRng.RemoveDuplicates Columns:=(RngColAR), Header:=RngAsHeader

    Belle découverte pour moi ! Je t'offre un café (virtuel) Vincent...

  7. #7
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    Haaa, un café virtuel est un objet non déclaré, donc méfiance! Merci ....

  8. #8
    Membre averti
    Femme Profil pro
    Webdesigner
    Inscrit en
    Novembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Novembre 2014
    Messages : 24
    Par défaut
    Bonsoir à tous,

    Je vous remercie pour vos réponses, mais le code de Jean-Claude me convient mieux si ce n'est que j'aimerais compléter ce code en interdisant la copie des données. Dans celui-ci, il m'avertit juste qu'il y a un doublon mais il copie quand même les données. Quelqu'un pourrait m'aider à le compléter en laissant le MsgBox?

    Merci pour l'intérêt que vous portez à ma demande.

    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
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     Dim derLig As Integer, adresse As String
     If Target.Column <> 2 Then Exit Sub 'exemple avec saisies en A et B
     derLig = Range("A" & Rows.Count).End(xlUp).Row
     If Target.Row <> derLig Then Exit Sub
         v1 = Cells(derLig, 1)
            'Recherche si la nouvelle donnée existe déjà dans la colonne A.
            adresse = Columns(1).Find(What:=v1, After:=Range("A" & derLig).Offset(1, 0), _
            LookAt:=xlWhole, SearchDirection:=xlNext).Address
     
            'Si l'adresse de cellule trouvée ne correspond pas à la cellule modifiée, cela
            'signifie qu'il y a un doublon dans la colonne.
            If adresse <> Range("A" & derLig).Address Then _
                MsgBox "La donnée '" & v1 & _
                "' existe déjà dans la cellule " & adresse
    End Sub
    NB: le café virtuel est en effet pas déclaré mais je peux t'assurer qu'il est meilleur pour la santé

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    bonjour

    personellement les activâtes et elect a tout va me font dresser les poils à moi
    une suggestion
    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
     
    Option Base 1
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim derLig As Long, lignVide As Long, tablo(1, 9) As Variant, doublon As Variant
        ici j 'ai reuni les 2 conditions de sortie de sub
        If Target.Column <> 12 Or Target.Row <> Range("A" & Rows.Count).End(xlUp).Row Then Exit Sub
     
        derLig = ActiveCell.Row ' ici si on est pas sorti alors on est forcement sur la derniere ligne
     
       If ActiveCell = "RP" Then
            'doublon va devenir la celle qui contient le doublon
            Set doublon = Range("A1:A" & derLig - 1).Find(Cells(derLig, 1), LookIn:=xlValues)
            If Not doublon Is Nothing Then ' si le doublon n'est pas rien alors message
            MsgBox "il y deja cette valeur en ligne :" & doublon.Row
            Else
            ' sinon on fait le boulot et sans tout ces activate qui paralisent le system
            'il y a 7 valeurs que l'on met dans la variables tablo dans les meme colonne que les colonne du  (sheets"GM")qui est la destination
            tablo(1, 1) = Cells(derLig, 1): tablo(1, 2) = Cells(derLig, 4): tablo(1, 4) = Cells(derLig, 11)
            tablo(1, 5) = Cells(derLig, 2): tablo(1, 8) = Cells(derLig, 9): tablo(1, 9) = Cells(derLig, 9)
            With Worksheets("GM")
                .Unprotect Password:="XENNA" ' on deprotege le sheets
                lignVide = .Range("A" & Rows.Count).End(xlUp).Row + 1 ' on cherche la premiere ligne vide en partant d'en bas
               . Cells(lignevide, 1).Resize(1, 9) = tablo ' et enfin on repose le tablo (plus comunement appelé "TRANSPOSE")
                .Protect Password:="XENNA"
            End With
        End If
        End If
    End Sub
    j'ai pas tester mais ca devrait fonctionner
    EDIT/
    j'avais oublié le "." devant cells dans la boucle with du sheets("GM")
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  10. #10
    Membre averti
    Femme Profil pro
    Webdesigner
    Inscrit en
    Novembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Novembre 2014
    Messages : 24
    Par défaut
    Bonsoir,

    le script bloque à ce niveau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .Cells(lignevide, 1).Resize(1, 9) = tablo
    Merci pour le suivi

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    juste avant cette ligne met

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox "ligne vide =" & lignevide & vbcrlf & ubound(tablo) & vbcrlf  & tablo(1,1) & ": " &  tablo(1,9)
    et dis moi ce que te dis le message ?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #12
    Membre averti
    Femme Profil pro
    Webdesigner
    Inscrit en
    Novembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Novembre 2014
    Messages : 24
    Par défaut
    Erreur d'exécution 1004

    Erreur définie par l'application ou l'objet

    Débogage

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    oula !!!il est tard hein

    bon c'est pas grave

    je repete

    bloque cette ligne avec un apostrophe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .cells(lignevide,1).resize(1,9)=tablo
    et juste au dessus de la ligne ajoute la ligne du msgbox que t'ai donné avant et dis moi ce que dit MON MESSAGE!!!! pas le message d'erreur
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    Membre averti
    Femme Profil pro
    Webdesigner
    Inscrit en
    Novembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Novembre 2014
    Messages : 24
    Par défaut
    SORRY!

    Ligne vide = 1

    1: YBH (c'est le contenu de ma cellule I2 de ma feuille principale)

    Merci

  15. #15
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    donc mis a part le fait que tu te retrouve avec la valeur de la cellules 12 ce n'est pas mon tablo qui génère l'erreur
    bien que 12 je comprend pas je la prend pas dans le tablo c'est bizarre
    peut être pour des protéger il faut activer je vais modifier

    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
    Option Base 1
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim derLig As Long, lignVide As Long, tablo(1, 9) As Variant, doublon As Variant
        ici j 'ai reuni les 2 conditions de sortie de sub
        If Target.Column <> 12 Or Target.Row <> Range("A" & Rows.Count).End(xlUp).Row Then Exit Sub
     
        derLig = ActiveCell.Row ' ici si on est pas sorti alors on est forcement sur la dernière ligne
     
       If ActiveCell = "RP" Then
            'doublon va devenir la celle qui contient le doublon
            Set doublon = Range("A1:A" & derLig - 1).Find(Cells(derLig, 1), LookIn:=xlValues)
            If Not doublon Is Nothing Then ' si le doublon n'est pas rien alors message
            MsgBox "il y deja cette valeur en ligne :" & doublon.Row
            Else
            ' sinon on fait le boulot et sans tout ces activate qui paralysent le system
            'il y a 7 valeurs que l'on met dans la variables tablo dans les meme colonne que les colonne du  (sheets"GM")qui est la destination
            tablo(1, 1) = Cells(derLig, 1): tablo(1, 2) = Cells(derLig, 4): tablo(1, 4) = Cells(derLig, 11)
            tablo(1, 5) = Cells(derLig, 2): tablo(1, 8) = Cells(derLig, 9): tablo(1, 9) = Cells(derLig, 9)
            With Worksheets("GM")
                .Activate
                .Unprotect Password:="XENNA" ' on déprotège le sheets
                lignVide = .Range("A" & Rows.Count).End(xlUp).Row + 1 ' on cherche la première ligne vide en partant d'en bas
                Cells(lignevide, 1).Resize(1, 9) = tablo ' et enfin on repose le tablo (plus communément appelé "TRANSPOSE")
                .Protect Password:="XENNA"
            End With
        End If
        End If
    End Sub
    mais je reste perplexe pour le 12
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  16. #16
    Membre averti
    Femme Profil pro
    Webdesigner
    Inscrit en
    Novembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Novembre 2014
    Messages : 24
    Par défaut
    pas 12 , COLONNE I LIGNE 2 -> c'est la colonne 9.

    Je dois améliorer mon café virtuel

  17. #17
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    et puis il est tard hein!!!!!!

    a force de trop on fait des bêtises
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  18. #18
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut RE
    JE SUIS MORT DE RIRE ET DE HONTE SURTOUT
    dans la ligne en cause il y a "Cells(lignevide........."
    hors c'est "Cells(lignvide.........."

    bon je vais me coucher la parce que ca va plus

    autant pour moi
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  19. #19
    Membre averti
    Femme Profil pro
    Webdesigner
    Inscrit en
    Novembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Novembre 2014
    Messages : 24
    Par défaut
    Moi aussi car ca ne va plus ... Bonne nuit et merci quand même pour ton aide ...

  20. #20
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut Une version qui fonctionne
    salut

    ouais ya des soir ou il faudrait se coucher de plus bonne heure hein!!!

    bon c'est moi qui avais déraillé

    en fait on se servait de activecell hors activecell était la cellule en dessous de la concernée puisque pour déclencher l'évènement il faut au minimum appuyer sur enter

    en fait il fallait se servir de target.row tout le long
    bon voila ca marche
    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
     
    Option Base 1
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim derLig As Long, lignVide As Long, tablo(1, 9), doublon As Variant
        ' ici j 'ai reuni les 2 conditions de sortie de sub
        If Target.Column <> 12 Or Target.Row <> Range("A" & Rows.Count).End(xlUp).Row Then Exit Sub
        derLig = Target.Row    ' ici si on est pas sorti alors on est forcement sur la dernière ligne
            If Target = "RP" Then
            'doublon va devenir la celle qui contient le doublon
            Set doublon = Sheets(1).Range("a1:a" & Target.Row - 1).Find(Cells(derLig, 1).Value, LookIn:=xlValues)
            If Not doublon Is Nothing Then  ' si le doublon n'est pas rien alors message
                MsgBox "il y deja cette valeur en ligne :" & doublon.Row
            Else
                ' sinon on fait le boulot et sans tout ces activate qui paralysent le system
                'il y a 7 valeurs que l'on met dans la variables tablo dans les meme colonne que les colonne du  (sheets"GM")qui est la destination
                tablo(1, 1) = Cells(derLig, 1): tablo(1, 2) = Cells(derLig, 4): tablo(1, 4) = Cells(derLig, 11)
                tablo(1, 5) = Cells(derLig, 2): tablo(1, 8) = Cells(derLig, 8): tablo(1, 9) = Cells(derLig, 9)
                With Worksheets("GM")
                    .Activate
                    .Unprotect Password:="XENNA"    ' on déprotège le sheets
                    lignVide = IIf(.Range("A" & Rows.Count).End(xlUp).Row = 1, .Range("A" & Rows.Count).End(xlUp).Row, .Range("A" & Rows.Count).End(xlUp).Row + 1) ' on cherche la première ligne vide en partant d'en bas
                    .Cells(lignVide, 1).Resize(1, 9) = tablo    ' et enfin on repose le tablo (plus communément appelé "TRANSPOSE")
                    .Protect Password:="XENNA"
                End With
            End If
        End If
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Gestion des doublons
    Par Arsene12 dans le forum WinDev
    Réponses: 2
    Dernier message: 04/12/2007, 19h21
  2. Requete SQL sous Access : gestion des doublons
    Par mcroz dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 27/02/2007, 17h37
  3. Gestion des doublons
    Par bestall666 dans le forum Access
    Réponses: 9
    Dernier message: 19/02/2007, 17h15
  4. Gestion des doublons et dlookup
    Par bestall666 dans le forum Access
    Réponses: 5
    Dernier message: 15/02/2007, 00h01

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