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 :

PB copier/coller car gestionnaire de nom


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Responsable des études
    Inscrit en
    Juin 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2016
    Messages : 21
    Points : 15
    Points
    15
    Par défaut PB copier/coller car gestionnaire de nom
    Bonjour à tous,

    Je souhaite copier/coller des lignes d'un classeurA vers un classeurB ayant exactement la même structure. Mon code fonctionne bien mais à chaque fois que l'action s'effectue, une boite de dialogue apparaît pour me dire "Une formule ou une feuille que vous voulez déplacez contient le nom "blabla" qui existe déjà sur la feuille de destination; Voulez-vous conserver ce nom?". Ce message s'affiche autant de fois que de case à copier...
    Le nom dont il s'agit fait référence à celui défini dans le gestionnaire de nom. J'ai supprimé les noms dans le classeurA (je ne peux pas le supprimer dans le classeur B) mais le message apparaît encore.

    Y-a-t-il un moyen pour éviter ce pb? une manière de copier/coller différemment?

    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
    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
     
    Sub subMAJSuivi()
     
    ActiveSheet.Unprotect "VCGP"
     
    Dim SousRep As String
    SousRep = ThisWorkbook.Path & "\"
     
     
    ChDir SousRep
    Classeur_com = Dir(SousRep & "*.xlsx*")
    While Len(Classeur_com) > 0
    Workbooks.Open Classeur_com
     
     
     
    Dim shSuivi As Excel.Worksheet, shSource As Excel.Worksheet
    Dim L1Suivi As Long, L1Source As Long, LDSuivi As Long, LDSource As Long
    Dim iBT As Integer, sNumBT As String
    Dim x As Long, y As Long, z As Long, w As Long
     
     
    Set shSuivi = Application.Workbooks(Classeur_com).Worksheets("Business projects list")
    Set shSource = Application.ThisWorkbook.Worksheets("Business projects list")
     
    L1Suivi = 1
    L1Source = 6
    iBT = 1 'numéro colonne #BT
    LDSuivi = shSuivi.Cells(Application.Rows.Count, iBT).End(xlUp).Row
    LDSource = shSource.Cells(Application.Rows.Count, iBT).End(xlUp).Row
     
    For x = L1Suivi To LDSuivi
        sNumBT = shSuivi.Cells(x, iBT).Value
        For y = L1Source To LDSource
        z = shSource.Cells(y, iBT).Row
     
            If shSource.Cells(y, iBT).Value = sNumBT Then shSuivi.Rows(x).Copy shSource.Rows(z)
            Next y
     
            For w = L1Source To LDSource
     
            If shSource.Cells(w, iBT).Value = sNumBT Then Exit For
        Next w
        If w > LDSource Then
            LDSource = LDSource + 1
            shSuivi.Rows(x).Copy shSource.Rows(LDSource)
     
     
         End If
     
    Next x
     
    Set shSource = Nothing
    Set shSuivi = Nothing
     
    Workbooks(Classeur_com).Close
    Classeur_com = Dir
    Wend
     
    ActiveSheet.Protect "VCGP"
     
    End Sub
    Merci beaucoup pour votre aide

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    si le choix par défaut proposé par cette boite de dialogue est le choix qui te convient, tu peux donner la main à VBA pour le faire de façon transparente :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Application.DisplayAlerts = False
    ' le code qui va générer la boite de dialogue
    Application.DisplayAlerts = True ' Toujours le remettre à True !
    si le choix par défaut ne te convient pas, il va falloir nous expliquer comment tu gères ce conflit actuellement

  3. #3
    Membre à l'essai
    Femme Profil pro
    Responsable des études
    Inscrit en
    Juin 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2016
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    C'est bien le choix par défaut qui m'intéresse, malheureusement ce code ne fonctionne pas. Je n'ai pas de message d'erreur mais mon action ne se lance plus.

    j'ai l'impression que ce code empêche seulement la boite de dialogue de s'ouvrir alors qu'il faudrait toujours choisir le "OUI".

  4. #4
    Membre à l'essai
    Femme Profil pro
    Responsable des études
    Inscrit en
    Juin 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2016
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Je n'avais pas mis le code au bon endroit! Ca fonctionne parfaitement, Merci!

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

Discussions similaires

  1. fichier vbs pour copier coller fichier excel avec nom dynamique
    Par fulgurr dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/09/2016, 17h24
  2. Macro copier/coller sur 2 fichiers aux noms variables
    Par ThSPB dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/04/2011, 21h25
  3. [XL-2007] Copier/coller d une page a une autre dont le nom est variable
    Par alexandrek dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/01/2011, 14h22
  4. Gestionnaire de copier/coller
    Par icer dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 23/01/2008, 11h21
  5. copier un signet et le coller sous un autre nom
    Par A@Lah dans le forum VBA Word
    Réponses: 2
    Dernier message: 17/01/2008, 18h05

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