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 :

RechercheV et copier coller de certaines cellules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 7
    Par défaut RechercheV et copier coller de certaines cellules
    Hello,

    Je me permets de vous soumettre une demande de macro :

    Voir le fichier joint pour les données, mais voila le besoin :

    - Dans l'onglet 1 du fichier : faire un vlookup pour regarder la date.
    - Aller regarder la date l'onglet 2, et reporter les valeurs 1,2 et 3 depuis l'onglet 1 vers l'onglet 2, dans les colonnes adéquate.

    Pourriez vous m'accompagner dans la démarche ?
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour OoPan,

    Pas d'ouverture de classeur à l'initialisation d'une discussion.
    Pourquoi une procédure?
    Les fonctions natives d'Excel ne pourraient pas te donner le résultat?

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par OoPan Voir le message
    Je me permets de vous soumettre une demande de macro :
    Lire les règles du forum, en particulier celle-là : http://club.developpez.com/regles/#LIV-N

    Voir le fichier joint pour les données
    Lire aussi cette règle-là : https://www.developpez.net/forums/d8...s-discussions/

    - Dans l'onglet 1 du fichier : faire un vlookup pour regarder la date.
    - Aller regarder la date l'onglet 2, et reporter les valeurs 1,2 et 3 depuis l'onglet 1 vers l'onglet 2, dans les colonnes adéquate.
    Utilise la méthode Find sur la zone de recherche de ton onglet 2
    https://msdn.microsoft.com/fr-fr/lib...6(v=office.15)

    Après avoir vérifié avec une structure If que le résultat n'est pas Nothing, tu pourras récupérer sa ligne avec Row.
    https://msdn.microsoft.com/fr-fr/lib...2(v=office.15)
    https://docs.microsoft.com/fr-fr/off...else-statement

    Ce numéro de ligne te permettra d'atteindre les valeur des autres colonnes de cette ligne par un Cells.

    Tu peux aussi, à la place de tout ça, placer des fonctions RECHERCHEV dans les cellules avec une propriété FormulaLocal.
    https://msdn.microsoft.com/fr-fr/lib...1(v=office.15)

    Pourriez vous m'accompagner dans la démarche ?
    Pour que nous puissions "t'accompagner", il faudrait que tu ais déjà commencé ta progression. Là, on a plutôt l'impression que tu nous demandes de te tracter.

  4. #4
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    déjà tel quel cela ne peux pas marcher (en tout cas simplement)

    dans ta colonne A de ton onglet "Départ" tu as une date au format Texte et dans ton onglet "arrivée" dans ta colonne A tu as une date en format date
    Il vaut mieux que les 2 dates soient en format date (je te laisse corriger)

    En suite nul besoin de macro pour faire ce que tu veux faire une simple formule RECHERCHEV fait l'affaire

    pour t'aider je vais te donner la première formule à mettre dans l'onglet "arrivée en B3

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTERREUR(RECHERCHEV(A3;départ!A:G;2;0));"";RECHERCHEV(A3;départ!A:G;2;0))
    A toi de l'adapter pour faire les 2 autres

    Formules à maitriser

    - SI
    - ESTERREUR
    - RECHERCHEV

    j'ai vérifier cela marche très bien

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 7
    Par défaut
    Hello Igloobel,

    Merci pour ton retour, effectivement les formats ne correspondent pas mais il s'agit bien de date et de date, j'ai juste copier/coller par erreur les colonnes.

    En complément, je saurai écrire en formule mais je voudrais juste ce genre de manipulation en code (car je vais en fait réellement manipuler plusieurs fichiers différent).

    Je vais essayer d'avancer avec les indications données par les collègues du dessus... je vais poster ici.

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 7
    Par défaut
    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
     
     
    Sub CopyPaste()
     
    Dim celldepart as Long
    Dim ligFin As Long
    Dim iLig As Long
     
      Set fd = Application.FileDialog(msoFileDialogOpen)
         With fd
     
            .AllowMultiSelect = False
            .Filters.Clear
            .Filters.Add "Fichiers CSV", "*.csv"
            .InitialFileName = "C:\blabla\Data_CSV"
     
    For iLig = 2 To ligFin
                        For iCol = 1 To 18
                            flux.Cells(iLig, iCol).FormulaLocal = ActiveWorkbook.Sheets(1).Cells(iLig, iCol).FormulaLocal
    Next.... ?
     
    End With

  7. #7
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    Igloobel,

    Une fonction d'Excel a été rajoutée sur les versions récentes d'Office.

    SIERREUR
    Ainsi

    =SI(ESTERREUR(RECHERCHEV(A3;départ!A:G;2;0));"";RECHERCHEV(A3;départ!A:G;2;0))
    peut s'écrire plus siplement

    =SIERREUR(RECHERCHEV(A3;départ!A:G;2;0));"")

  8. #8
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    En quoi?
    Sur quel code? Quel message d'erreur sur quelle ligne?
    (retourne le dans son intégralité)

    Eventuellement, sur quelle formule?

Discussions similaires

  1. [XL-2007] Pb copier/coller d'une cellule vers une autre
    Par rch05 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 29/01/2011, 16h24
  2. [XL-2007] Copier/coller automatiquement des cellules
    Par PapaOurs79 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/01/2011, 17h23
  3. Copier/coller d'une cellule par rapport à une autre
    Par AzelRoth dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/02/2009, 15h54
  4. [VBA-E] copier /coller sur test cellule
    Par Portsall dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/05/2006, 22h19

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