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 :

Sélection de TOUTES les lignes d'une feuilles et transfère valeur colonne A


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2019
    Messages : 5
    Par défaut Sélection de TOUTES les lignes d'une feuilles et transfère valeur colonne A
    Salutation forumeurs,

    Je suis débutant en VBA j'en fais que depuis quelques mois et actuellement pour un projet pro j'ai besoin de transférer les valeurs de la colonne A de la feuille précédente vers la nouvelle feuille dans les lignes correspondantes aux valeurs égales.

    En gros certaines lignes se répètent et les valeurs introduites dans la colonne A ,de la feuille 1 par exemple,doivent apparaitre dans la colonne A de la feuille 2. Pour cela je dois procéder par la sélection des lignes de toute la feuille (car le nb de lignes avec des valeurs est variable donc pas de A2:A100 ) . Par exemple ,SI la valeur de la ligne 3 feuille 1 est égale aux valeurs de la ligne 10 de la feuille 2, la valeur de la colonne A3 feuille 1 ira dans A10 feuille 2.

    Actuellement j'ai écrit ça et evidemment ça ne fonctionne pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Commentaires()
     
    ' Transfert des commentaires dans les lignes correspondantes de la veille qui se répètent
     
     
    If Sheets(ActiveSheet.Index - 1).Rows("2:2").CurrentRegion.Select.Value = Sheets(ActiveSheet.Index).Rows("2:2").CurrentRegion.Select.Value Then
     
               Sheets(ActiveSheet.Index - 1).Columns(1).Value = Sheets(ActiveSheet.Index).Columns(1)
     
    End If
     
    End Sub
    Merci beaucoup.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 165
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Par exemple ,SI la valeur de la ligne 3 feuille 1 est égale aux valeurs de la ligne 10 de la feuille 2, la valeur de la colonne A3 feuille 1 ira dans A10 feuille 2.
    C'est à dire ?
    Quelle est la colonne contenant la valeur unique présente à la fois en feuille 1 et en feuille 2 permettant de remplir les autres colonnes de la ligne trouvée en feuille 2.
    Cela ressemble à un RECHERCHEV ou INDEX avec EQUIV

    [EDIT]
    Tu n'as certainement pas testé le code publié car tu aurais évidemment eu une erreur car la méthode Select suivie de la propriété Value cela ne peut pas fonctionner
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2019
    Messages : 5
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    C'est à dire ?
    Quelle est la colonne contenant la valeur unique présente à la fois en feuille 1 et en feuille 2 permettant de remplir les autres colonnes de la ligne trouvée en feuille 2.
    Cela ressemble à un RECHERCHEV ou INDEX avec EQUIV

    [EDIT]
    Tu n'as certainement pas testé le code publié car tu aurais évidemment eu une erreur car la méthode Select suivie de la propriété Value cela ne peut pas fonctionner
    Oui ça ne fonctionne pas, Seule la colonne A contient les valeurs que je désire copier dans la colonne A de la feuille suivante, pour la copier elle doit respecter une condition, c'est que la valeur de toute la ligne de la feuille 2, par exemple, doit correspondre à la même valeur que la ligne de la feuille 1 , j'ai du mal à l'expliquer mais c'est parceque le contenant des valeurs est confidentiel.

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 165
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si tu as des difficultés à expliquer, ce sera difficile de t'aider.
    Une valeur est une valeur que ce soit "Toto", "100" ou "Zaza" c'est du pareil au même et qu'elle soit confidentielle ne change rien à l'affaire.
    Pour transférer les données sur une ligne à condition qu'une valeur en feuille 2 soit identique à une valeur en feuille 1, il y forcément moyen de dire dans quelle colonne se trouve cette valeur "unique"
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2019
    Messages : 5
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Si tu as des difficultés à expliquer, ce sera difficile de t'aider.
    Une valeur est une valeur que ce soit "Toto", "100" ou "Zaza" c'est du pareil au même et qu'elle soit confidentielle ne change rien à l'affaire.
    Pour transférer les données sur une ligne à condition qu'une valeur en feuille 2 soit identique à une valeur en feuille 1, il y forcément moyen de dire dans quelle colonne se trouve cette valeur "unique"
    Oui c'est vrai (ce sont des données qualitatives) , en donnant un exemple ça sera surement plus simple à expliquer.
    Admettons la cellule A2 contient la valeur "Machin" , et les valeurs sur la ligne de la cellue A2 sont sur plusieurs colonnes (B2 = 3 ; C2 = 6 ; D2 = Truc), dans la seconde feuille je retrouve exactement les valeurs de B2, C2 et D2 mais ils sont situés dans la ligne 5 donc je désire transférer la valeur de A2 (donc "Machin") feuille 1 dans la cellule A5 feuille 2 pour qu'elle soit sur la même ligne que ces valeurs.

    Je suis désolé j'ai beaucoup de mal à expliquer mon soucis .. mais je vous remercie merci de prendre le temps de me répondre , malgré mes fautes de synthaxes c'est très gentil de votre part

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 165
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si la combinaison des valeurs comprises en B, C et D ne peuvent se retrouver que sur une seule ligne, cela signifie donc que ces trois cellules peuvent constituer une clé unique ?
    Si c'est le cas, je prévoirais une colonne qui serait le résultat de la concaténation des trois cellules.
    Ensuite en utilisant la fonction EQUIV (Match si tu utilises le VBA) tu pourrais obtenir la position de la ligne où se trouve la clé unique et ainsi écrire la valeur de la cellule se trouvant en colonne A de la feuille 1 dans la cellule A & position de la ligne trouvée en feuille 2
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [XL-2007] [DÉBUTANT] Une partie du code utilise toutes les lignes de la feuille
    Par Nomorerulz dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/07/2016, 15h42
  2. Concaténer toutes les lignes d'une colonne
    Par metalcoyote dans le forum Oracle
    Réponses: 6
    Dernier message: 10/05/2006, 15h51
  3. Réponses: 4
    Dernier message: 11/10/2005, 15h03
  4. [VBA-E] supprimer le contenu de toutes les cellules d'une feuille
    Par BipBip2 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/08/2004, 15h13
  5. Sélection de toute les tables d'une base
    Par lord_paco dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 21/07/2003, 14h56

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