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 :

Programmer copier coller et filtrage de données


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 27
    Par défaut Programmer copier coller et filtrage de données
    Bonjour à tous.

    Voici mon problème :

    Chaque mois, je reçois un tableau Excel de X lignes et Y colonnes. Il s’agit en fait d’une mise à jour, avec toutes les données précédentes + des nouvelles. Pour être plus précis, il s’agit d’un compte rendu mensuel.

    A l’intérieur du tableau, parfois des chiffres, parfois des mots.

    Le nombre de colonnes est constant mais le nombre de lignes varie.

    Mon but serait de créer un programme qui idéalement, en activant la macro sur le nouveau document mis à jour, me créerait des nouvelles feuilles avec pour chaque feuille, seulement les lignes contenant le mot ou les chiffres demandés.

    Voici en pièce jointe un exemple ultra simplifié de ce qu’il me faudrait.

    La feuille « MAJ » correspondrait au document reçu, la feuille « SALUT » correspondrait aux lignes de la feuille « MAJ » contenant le mot « TEST » dans la colonne « BONJOUR », et la feuille « CIAO » correspondrait aux lignes de la feuille « MAJ » contenant le nombre « 42 » dans la colonne « BYE ».

    Sur ce document, j’ai copié collé le tableau « MAJ » et effectué un filtrage des données en fonction des critères que je voudrais faire apparaitre, mais avec des centaines de lignes, colonnes, et feuilles à réaliser, cette automatisation me ferait gagner un temps fou !

    Si quelqu’un pouvait m’envoyer les quelques lignes de codes pour le document en pièce jointe, ca serait super ! Ainsi, je pourrais modifier et complexifier la base pour coller à mon réel tableau.

    Je vous remercie vraiment d’avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour,

    Voici ce que je te conseil
    lance l'enregistreur de macro et fait une fois a la main ce que tu veux faire. Ensuite regarde le code et essaye d'adapter en cas de souci montre nous ou tu en es.
    Mais en venant ainsi main de es poche snas aucun code tu risque de ne pas avoir beaucoup de succès. De plus les discutions avec des pièces jointe on tendance a rebuter pas mal de personne tu diminue donc les chances de réponse.


    Je te conseil donc de commencer, ensuite on devrais pouvoir t'aider.
    Bonne chance

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 27
    Par défaut
    Merci pour ta réponse krovax.

    Le problème, c'est que je ne connais aucune ligne de code :s

    C'est la raison pour laquelle j'ai réalisé un tableau très simple, sur lequel j'aurais pu travailler si j'avais le programme qui va avec.

    Mais j'ai beau cherché à droite et à gauche, en tant que mécanicien, la programmation n'est vraiment pas mon fort...

    Le programme allant avec mon tableau serait si compliaué à réaliser?

    Est ce déjà réalisable en VBA??

  4. #4
    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
    Salut m-a-n-u,
    Oui c'est réalisable, en annexe ton fichier avec un exemple pour la feuille SALUT.
    Si c'était pour moi je ne l'aurais pas fait ainsi mais tu semble dire que tu es débutant on va donc pas trop compliquer les chôses...
    Je te laisse regarder, ensuite essaie d'adapter pour tes autres cas, si tu as des questions, reviens ici.
    A+

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 27
    Par défaut
    Après avoir trifouillé pour réussir à executer la macro ^^ j'y suis parvenu.

    En fait, je ne sais pas si je fait bien, mais j'actif les macro dans excel, et apres je clik droit sur le bouton "copier les lignes test..." et je fait affecter une macro. Ensuite je selectionne la macro.

    Et ca fonctionne.

    En copiant collant la macro et en la modifiant, j'arrive très bien à créer des nouvelles feuilles avec les lignes comprennants les données souhaitées.

    Mais à chaque fois, il faut aue je reconfigure le bouton pour lui attribuer la bonne macro.

    Comment faire pour qu'en cliquant une fois sur le bouton, toutes les feuilles se crées?

    Est ce possible?

    Merci encore

  6. #6
    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
    Re,
    L'association au bouton est la dernière étape...
    Une fois de plus il y a plusieurs possibilités, en voici une, elle consite à indiquer la macro suivante à "lancer"
    Exemple en considérant que ta 2ème macro est CreeFeuilCIAO:

    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
    Sub CreeFeuilSalut()
    '
    Dim DerLig As Long 'Variable pour récupérer la dernière ligne de la feuille
    Dim Agarder As String 'Indiquera le mot à garder dans l'exemple "test"
    Dim r As Long 'Variable qui permet de passer sur chaque ligne via une boucle
     
        Sheets.Add.Name = "SALUT" 'Ajoute une feuille et la renomme SALUT
        Sheets("SALUT").Move after:=Sheets(1) 'Déplace la feuille en 2è position
     
    Sheets("MAJ").Cells.Copy Destination:=Sheets("SALUT").Range("A1") 'Copie l'ensemble de la feuille MAJ sur la feuille SALUT
     
    DerLig = Sheets("SALUT").Cells(Columns(1).Cells.Count, 1).End(xlUp).Row 'Récupère le numéro de ligne de la dernière ligne remplie sur base de la colonne 1
    Agarder = "test" 'Défini le mot à garder pour cette feuille !! la casse est importante
     
    For r = DerLig To 2 Step -1
        If Sheets("SALUT").Cells(r, 2) <> Agarder Then Rows(r).Delete
        'Vérifie si le contenu de la cellule est = à "test"; cells fonctionne avec la ligne puis la colonne dans ce cas on regarde la colonne 2
    Next r
     
    CreeFeuilCIAO 'lance la macro nommé CreeFeuilCIAO
     
    End Sub
     
    Sub CreeFeuilCIAO()
     
    'Le code que tu as créer
     
    End sub

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 27
    Par défaut
    SUper ca éarche parfaitement comme ca merci beaucoup!

    En fait, il me manquait juste le CreeFeuilCIAO après le premier next r

    Je me lance dans la modification du code pour mon projet et vous donne des news.

    Peut être même que ca me donnera envie d'appronfondir un peu et d'essayer de perfectionner mon programme ^^

    Arff ca y est voici mes premiers problème. lol

    Je vais essayer de faire un "worst case" de ce que je veux pour trouver toutes mes réponses d'un coup

    Si je veux afficher par exemple:

    Les lignes ou il y a "X" ou "Y" dans la colonne 1 ET en meme temps des cellules non vides dans la colonne 3.

    Une fonction ET en fait qui regroupe mes conditions (simples ou doubles) pour deux colonnes differentes en meme temps. Et le code aussi pour selectionner les cellules qui ne sont pas vides.

    Désolé de vous embeter avec mes question de debutant ^^

    Mais au fond tout le monde debute un jour

  8. #8
    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
    Re,
    Pour ce genre de cas il faut bien penser aux conditions, tu dis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Les lignes ou il y a "X" ou "Y" dans la colonne 1 ET en meme temps des cellules non vides dans la colonne 3.
    Mais en fait c'est:
    Les lignes ou il y a "X" dans la colonne 1 ET non vide dans la colonne 3 OU si il y a "Y" dans la colonne 1 et non vide dans la colonne 3

    Voici la traduction pour le code (une fois de plus c'est une des possibilités):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cells(r, 1) = "X" And Cells(r, 3) <> "" Or Cells(r, 1) = "Y" And Cells(r, 3) <> "" Then
    r est le numéro de ligne variable selon la boucle mais je crois que tu avais bien compris
    A+

    P.S. T'inquiète pas pour les "bêtes" questions, je suis passé par là, d'autant que tes questions ne sont pas si "bêtes" que ça

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 27
    Par défaut
    Super merci beaucoup c'est vrai que je n'avais pas pensé a faire deux fonctions ET séparées par un OU.

    Je pensais faire un ET puis un OU mais dans ce cas, j'aurais eu beaucoup plus de resultat que voulu!

    Par contre, ou inserer la ligne? Avec mon programme test, il y a:

    Agarder = "test"

    Et si par exemple je ne veux qu'une condition qui serait: toutes les lignes quand il a quelque chose d'écrit dans les cellules de la colonne 2. Comment faudrait'il faire?
    Si je veux toutes les lignes ou il y a des cellules vides dans telle colonne je mettrait:

    Agarder = ""

    Mais je ne parvient pas à faire un

    Agarder = Not "test"

    ou quelque chose du genre qui fonctionne.

    Sinonm j'avance bien dans mon programme mis a part les feuilles avec des criteres particuliers ^^

  10. #10
    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
    Re,
    Attention le code que je t'avais donné était plus à titre d'exemple qu'autre chôse...ne reste pas trop braqué sur ce que j'ai fait, n'hésite pas à "repenser" la manière.

    Mais concrètement:
    Une variable sera toujours = à
    Mais c'est au niveau de la condition qu'on peut jouer, si ce n'est pas égal, c'est que c'est différent, donc fait un test si différent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If cells(r,1)<>Agarder then
    A+

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 27
    Par défaut
    Mais alors égal à "quoi"?

    Je tourne mais ne trouve vraiment pas...

    Dans l'exemple du depart ou il n'y avait qu'une condition c'etait simple on mettait le nom de cette condition a la variable Agarder mais maintenant qu'il y en a plusieurs je suis perdu

  12. #12
    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
    Salut,
    Je répète, le fichier était un exemple, dans ce cas c'était pour te montrer l'utilisation d'une variable pour tester des conditions mais ce n'est pas obligatoire.
    Regarde l'exemple des X et vide OU y et vide, on n'a pas utilisé de variable.
    Pour reprendre ta dernière question, si tu veux garder les lignes différentes de "Test".
    Avec variable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Agarder="Test"
    If cells(r,1)<>Agarder then '...
    Sans Variable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If cells(r,1)<>"Test" then '...
    Le but des variables est de "faciliter" le code, si tu veux remplacer Test par Toto dans le code suivant tu devrais le remplacer trois fois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If cells(r,1)<>"Test" or cells(r,2)="Test"  or cells(r,3)="Test" then '...
    Par contre en utilisant une variable, une fois suffit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Agarder = "Toto"
    If cells(r,1)<>Agarder or cells(r,2)=Agarder  or cells(r,3)=Agarder then '...
    J'espère avoir été clair.

    A+

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 27
    Par défaut
    Merci beaucoup pour cette aide précieuse j'avance bien ^^

    Là, j'ai un nouveau petit problème. EN fait, j'ai des colonnes avec des dates du format MM/JJ/AA. Ca va du 1er Janvier 2001 à aujourd'hui, mais tous les jours n'y sont pas. Environ 1 jour sur 5.

    Je doit créer une feuille avec les lignes de tous les jours présent de tel mois de tel année.

    Par exemple, créer une feuille OCT09 avec les lignes de tous les jours présents du mois d'octobre de l'année 2009.

    J'ai enregistré une macro en faisant un filtrage des données et en ne faisant apparaitre que les lignes du mois d'octobre 2009 mais le code généré est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveSheet.Range("$A$1:$R$480").AutoFilter Field:=1, Operator:= _
            xlFilterValues, Criteria2:=Array(1, "10/29/2009")
    Ca me parait étrange.

    Merci d'avance


    EDIT:
    Je pense avoir trouvé. Le premier chiffre de la parenthese après Array pourrait être la solution. Si j'ai bien compris, si c'est un 0, ca ne prend en compte que l'année, si c'est un 1, l'année et le mois, et si c'est un 2, le jour, le mois, et l'année.

    Je vais essayer avec ca.

    Par contre, question stupide qui ne me sert à rien mais juste par curiosité, si je veux afficher tous les 1er jours du mois de chaque mois et chaque année, comment faire?

    Mon projet avance toujours bien.

    Finallement, j'abandonne un peu la programmation pure pour l'instant. Les conseils qui m'ont étés donnés me sont tout de même très utiles.

    Là, je fait en fait des enregistrements de macro et adapte le programme pour qu'il soit le mieux psosible.

    Cependant, je me retrouve face à un problème:

    Lorsque je lance ma macro, j'ai un message qui apparait. C'est le suivant:

    La selection contient plusieurs valeurs. La fusion des cellules ne conservera que les données de la cellule supérieur gauche.

    Je fait OK et tou repart et les étapes se deroulent parfaitement, mais ce message est embetant! J'ai dû faire une mauvaise manip durant l'enregistrement de la macro mais comment retrouver le problème dans le code généré?

    Merci

    Pour mon problème, j'ai tout recommencé et je ne l'ai donc plus. Je ne sais pas d'ou ca venait...

    J'apprend vraiment beaucoup de choses sur le VBA c'est cool ^^

    J'arrive à me sortir de beaucoup de problemes, mais là j'ai une toute petite question bete à laquelle je n'arrive pas à trouver reponse.

    Lorsque l'on cré une macro, on peut créer un raccourcis, par exemple Ctrl+L pour lancer la macro plus rapidement.

    Mais j'ai l'impression que cette opération ne se retrouve pas dans le code de la macro.

    Existe t-il un bout de code permettant de créer ce raccourcis.

    Pour être plus precis, le programme que je cré est destiné à un superieur. Il recoit chaque mois un fichiers excel.

    Je voudrais qu'il ai un minimum d'operations a effectuer pour lancer le programme. Je pense que le ALT+F11 pour acceder à VBA est indispensable, ensuite clique sur "thisWorkbook, ou il colle le programme que je lui donnerait, puis retour sur le doc Excel. Ensuite, plutot que de faire un ALT+F8 et chercher la bonne macro, j'aimerais qu'une fois sur le doc, il fasse le raccourcis clavier pour que la macro dite s'execute.

    En fait j'ai plusieurs macros liées enter elles. tout reunir dans une seule etait moins clair et les éacros etaient trop longues et ne pouvaient s'executer.

    Voil j'espere avoir été clair et pas trop lomg :S

    Merci d'avance

  14. #14
    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
    Salut,
    Si c'est pour un supérieur faut un truc plus sympa qu'un raccourci pour lancer la macro

    Il faudra commencer par mettre le code que tu as créé dans ses macros perso
    (si tu sais pas comment faire dis le)

    Et voici comment ajouter un menu dans la barre d'Excel, tu peux y mettre l'image que tu veux et l'associer à la macro que tu veux...
    Ce code doit être placé dans le module ThisWorkbook des macros perso de ton supérieur:
    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
    Private Sub Workbook_Open()
     
    Application.CommandBars(1).Controls("Macro Perso").Delete 'Supprime "Macro perso" pour éviter bug si déjà présente
     
    With Application.CommandBars(1).Controls.Add(msoControlPopup, , , 10)
        .Caption = "Macro Perso" 'Ajout de la barre "Macro Perso"
     
    'Explication sur la macro associé au bouton qu'on va créer...
        With .Controls.Add(msoControlButton)
        .Caption = "Trait. Fichier" 'Libellé du bouton
        .FaceId = 505 'Image associée
        .OnAction = "TaMacro" 'Nom de la macro à lancer
        .BeginGroup = False 'Permet de mettre des lignes de séparation si plusieurs Items
        End With
    End sub

    Il faut aussi prévoir de l'enlever à la fermeture du fichier (c'est plus propre)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
     
    On Error Resume Next
    Application.CommandBars(1).Controls("Macro Perso").Delete
     
    End Sub
    A+

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 27
    Par défaut
    Merci beaucoup Fvandermeulen pour tous tes conseils.

    Je vais regarder tout ca tranquilement pour faire un truk propre ^^

    En fait, je comptais créer 4 documents *.txt correspondant aux programmes qu'il devra utiliser pour l'année 2009, 2010, 2011 et 2012.

    Trop compliqué pour moi de faire quelque chose qui s'adapte et ca ne gene pas du tout mon superieur.

    Le fichier etant tous les Mois le même, mais mis à jour, je pensais qu'il n'avait qu'a copier coller le code de l'année en cours ds le ThisWorkbook. Mais si en effet il y a moyen d'enregistrer les macros directement sur Excel je suis preneur

    ++

  16. #16
    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
    Re,
    Oui, tu peux faire en sorte que cette macro soit disponible dès qu'Excel est ouvert via les macros perso.

    Fais le test, lance l'enregistreur de macro tu vois que tu peux renommer la macro mais aussi choisir où la sauver, dans le fichier ou dans le classeur personnel (pas certain du nom exact, je suis en version GB)

    Fais une macro bidon, tu verras alors quand dans VBA tu auras un "classeur" personnel (toujours pas certain du nom), ce classeur n'est pas visible et contient les macros perso, donc dispo dès que Excel est ouvert.

    En espérant avoir été clair...

    A+

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 27
    Par défaut
    Me voici de retour

    J'ai poursuivi la création de ma macro.

    Je me suis trouvé face à un nouveau problème que j'ai réussi à résoudre mais je ne comprend pas le fonctionnement de la ligne concernée.

    En fait, pour simplifier, j'ai 3 feuilles d'ouvertes. Dans la "Feuil3", à la cellule J5, je veux écrire ce qu'il y a dans la ecllule T4 de la "Feuil2". J'enregistre donc une macro et regarde le code généré. Je constate alors que ma ecllule doit être:
    =Feuil2!R5C20

    Pourquoi R5C20 alors que je veux qu'elle soit egale a T4??!!

    J'ai eu plusieurs fois ce probleme et ai du bidouiller mon code pour qu'Excel me recopie la bonne valeur.

    Peut etre qu'il y a un lien avec le fait que la cellule à copier (de la feuille 2), soit elle même la valeure d'une somme de cellules de la Feuil1... Mais ca n'empeche que je ne comprend pas d'ou vient le R5C20...

    Sinon, j'ai essayé ta methode Fvandermeulen pour siéplifier l'execution de la macro, mais je n'y parvient pas.

    En fait, j'ai peut etre mal fait, mais je me ertrouve avec un fichier *.txt contenant toutes les macros créées. Avec des liens entre elle pour qu'en executant la 1ere, toutes s'executent.

    Jusqu'alors, je copie collie (euh colle) :-) le code de mon fichier *.txt dans le ThisWorkbook.

    Merci de m'eclairer encore une fois ^^

  18. #18
    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
    Salut,
    Je suis un peu surpris par le résultat R5C20...
    Peux tu mettre l'ensemble du code généré par la macro ?
    Sans quoi l'idée du R5C20 est de fonctionner par "référence", R5 = Ligne 5 et C20 = colonne 20 (ce qui ne correspond en effet pas à "T4" même si positionné en A1)

    Sinon, dans le code tu peux mettre simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil3").range("J5")=sheets("Feuil2").range("T4")

    Pour ce qui est des macros perso, regarde l'image jointe, ça t'aideras peut-être.

    A+

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 27
    Par défaut
    Ah ok je n'avais pas fait le lien entre R5C20 et la ligne 5 (row) et colonne 20 (Column).

    Je pensais que dans le code c'etait toujours ecrit de la forme F3 par exemple pour la cellule à la ligne 3 et colonne F.

    Du coup, ca correspond totallement!

    R5C20 correspond à la cellule T5 (je me suis trompé dans mon mail d'hier il sagit bien de T5 ^^)

    Merci pour cette explication.

    Par contre, pour les macros persos, l'image correspond bien a ce que j'avais fait mais c'est la suite qui me pose probleme. Ce n'est pas genant le fait que tout mon programme se retrouve en un seul fichier que je colle dans le ThisWorkbook?

  20. #20
    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
    Citation Envoyé par m-a-n-u Voir le message
    ...
    Ce n'est pas genant le fait que tout mon programme se retrouve en un seul fichier que je colle dans le ThisWorkbook?
    Salut, moi ça ne me gêne pas mais ce n'est vraiment pas le plus efficace.

    Essaies encore les macros perso, tu verras un jour ou l'autre tu en auras besoin, si tu veux de l'aide dis ce qui te pose problème dans la suite.

    A+

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/12/2011, 12h22
  2. [2K8] Copier / Coller une base de données SSAS?
    Par veenie dans le forum SSAS
    Réponses: 3
    Dernier message: 17/08/2009, 12h32
  3. copier coller une base de données
    Par zaineb.z dans le forum Outils
    Réponses: 4
    Dernier message: 18/07/2007, 18h38
  4. Réponses: 3
    Dernier message: 23/09/2006, 15h19
  5. programme de copier coller....
    Par illegalsene dans le forum C++
    Réponses: 1
    Dernier message: 22/10/2004, 10h52

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