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 :

[E-03] Remplacement Validation Listes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Par défaut [E-03] Remplacement Validation Listes
    Bonjour,

    Dans mon script en VBA XLS 2003, J'utilise des copiés collés entre 2 documents ci-dessous les commandes utilisés.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    objworkbooksLDOD.Worksheets.Item(1).Range("J5:N30").Copy
    objWorkbookHeader.Worksheets.Item(1).Activate
    Range("J65:N90").Select
    ActiveSheet.Paste
    lors du collé, J'ai un message Windows :

    Une formule ou une feuille que vous voulez déplacer contient le nom <document> qui existe déjà sur la feuillle de destination.
    Voulez vous utiliser cette version du nom ?
    Oui Nom
    Avez vous une solution / paramètrage des cellules utilisants une Validation/liste évitant le message windows ?
    Dans mon cas on doit toujours répondre Oui

    Merci d'avance pour votre aide.

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Bonjour,
    Une des solutions, assez simple, consiste à répondre 'oui' automatiquement par un "send key", voici la partie du code à ajouter au moment où il faut valider. j'imagine que ce sera justa après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sendkeys string:="{enter}", wait:=false

  3. #3
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Par défaut
    Merci Fvandermeulen

    J'avais pas pensé au sendkeys,

    Le probème est résolu.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Par défaut
    Re bonjour,

    J'ai répondu trop vite,

    Dans le cas ou la macro est lancé sur le document recepteur, le fonctionnement est correcte.

    Quand la macro est lancé à partir d'un autre document (tableau de commande),
    Le message Windows est toujours demandé

  5. #5
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    C'est quoi que tu copies ?
    Des données, une plage nommée,
    Pourquoi objworkbooksLDOD & objWorkbookHeader ?
    Si ce ne sont que des données, voici un exemple de code qui peut t'inspirer, il faudra adapter le nom des feuilles

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
     
    For c = 10 To 14           'c pour colonne; 10 = col J et 14 col N
     
        For l = 5 To 30          'l pour ligne; boucle pour passer sur toutes les lignes
        maSource = Sheets("sheet1").Cells(l, c)
        Sheets("sheet2").Cells(l + 60, c) = maSource
        Next l
     
    Next c
     
    End Sub

  6. #6
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Par défaut
    re bonjour,

    Mon environnement est le suivant :

    a) 1 document xls contenant toutes les macros et un tableau de commande pour gérer une 15aines de documents differents.

    b) 1 document créé .xls (nouveau)
    objWorkbookHeader pointe vers ce document.


    c) 1 document de reference .xls contenant une liste de destinataire a renseigner
    objworkbooksLDOD pointe vers ce document de reference.
    Si ce document existe, je copie des informations vers le document (b)


    Quand j'execute la macro à partir du document (b)
    Le sendkeys joue bien son role.

    Quand j'execute la macro a partir du document de commande(a)
    Le sendkeys n'empeche pas le message windows.

    Je travail avec des Ranges de selection à cause de case fusionnées
    (Ligne par ligne, les 4 cases sont fusionnées)
    Ca fonctionne bien sauf pour les cases avec des listes de choix


    Je regarde ce que ca donne avec des boucles

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

Discussions similaires

  1. [validator] liste de valeurs
    Par phoebe dans le forum Struts 1
    Réponses: 6
    Dernier message: 05/02/2008, 13h33
  2. remplace ds liste deroulante l' ID par le nom en clair
    Par patgame dans le forum Modélisation
    Réponses: 2
    Dernier message: 12/07/2007, 23h39
  3. Remplacement de liste de chaînes
    Par nox75 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 25/04/2007, 13h26
  4. [VBA][Excel] code validation liste
    Par mulanzia2003 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/07/2006, 07h34
  5. [Debutant]Remplacer une liste de valeur par une liste de val
    Par Sebbo dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 31/03/2006, 12h15

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