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 :

SI CONTENU d'une cellule feuil 1 et feuil 3 EGAL , alors copier autre cellule [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Assistante
    Inscrit en
    Novembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Assistante

    Informations forums :
    Inscription : Novembre 2017
    Messages : 12
    Par défaut SI CONTENU d'une cellule feuil 1 et feuil 3 EGAL , alors copier autre cellule
    Bonjour à tous,

    Je suis une grande novice du VBA, mais j'aimerai l'utiliser car je trouve que c'est tip top.

    J'ai un problème : (naturellement)
    J'aimerai savoir s'il est possible en VBA de traduire ceci :

    SI une cellule de ma feuil3 (colonne H) est identique à une cellule de ma feuil1 (colonne V) alors copier la cellule de la feuil1 (qui ce trouve dans la colonne I) de la ligne qui correspond au résultat identique sur la cellule qui correspond de ma feuil3 en colonne B.

    Je sais pas si je suis bien claire. Si nécessaire je vous met un fichier en copie.

    Ah, je tiens a préciser que j'aime comprendre ce que je fais. Je ne demande pas une solution toute faite. Juste quelqu'un qui m'explique comment je peux faire, et pourquoi il faut mettre ceci plutôt que cela etc

    Merci.

  2. #2
    Membre averti
    Femme Profil pro
    Assistante
    Inscrit en
    Novembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Assistante

    Informations forums :
    Inscription : Novembre 2017
    Messages : 12
    Par défaut HELP
    S'il vous plait quelqu'un pour m'aider ??

  3. #3
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Par défaut
    bonjour,

    pour les feuilles / onglets / sheets /....

    Sheets("NomDeOnglet_DansBarreOnglet")

    pour les cellule / range / case / ....

    version pratique...qui ce complique avec "AA, AB,..) :
    Range("A4").value ---> valeur de A4
    Range("A" & n).value ---> valeur de A4 si n = 4
    Range(AdresseDeCellule).value ---> valeur de A4 si la variable / constante : AdresseDeCellule = "A4"

    autre version...attention Colonne / Ligne INVERSE -> Ligne / Colonne
    Cells(Ligne,Colonne).value ---> valeur de A4 si Ligne = 4 et Colonne = 1 -> "A"
    Cells(n,1).value ---> valeur de A4 si n=4 -> ligne
    Cells(4,1).value ---> valeur de A4


    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  4. #4
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Par défaut
    re,

    SI une cellule de ma feuil3 (colonne H) est identique à une cellule de ma feuil1 (colonne V) alors copier la cellule de la feuil1 (qui ce trouve dans la colonne I) de la ligne qui correspond au résultat identique sur la cellule qui correspond de ma feuil3 en colonne B.
    SI une cellule de ma feuil3 (colonne H) est identique à une cellule de ma feuil1 (colonne V)

    if Sheets("feuil3").Range("H" & Ligne).value = Sheets("feuil1").Range("V" & Ligne).value Then

    alors copier la cellule de la feuil1 (qui ce trouve dans la colonne I)

    ValeurACopier = Sheets("feuil1").Range("I" & Ligne).value

    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  5. #5
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonsoir
    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
    Sub copier()
     
    Dim Dernligne As Long
    With Sheets("feuil1")
    Tablo = .Range("A2", "V" & .Range("V" & .Rows.Count).End(xlUp).Row)
    End With
     
    With Sheets("feuil3")
    Dernligne = .Range("A" & Rows.Count).End(xlUp).Row
    For i = LBound(Tablo, 1) To UBound(Tablo, 1)
            For j = 2 To Dernligne
                 If .Cells(j, 8) = Tablo(i, 22) Then
                    .Cells(j, 2) = Tablo(i, 9)
     
                 End If
            Next j
      Next i
    End With
    End Sub

  6. #6
    Membre averti
    Femme Profil pro
    Assistante
    Inscrit en
    Novembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Assistante

    Informations forums :
    Inscription : Novembre 2017
    Messages : 12
    Par défaut CA A L'AIR DE MARCHER
    Merci beaucoup !

    Le code a l'air de marché ! BENNASR

    Mais j'aimerai comprendre comment avez vous fait pour écrire ce programme ?

    mjpmjp ça a l'air tellement simple comme vous l’écrivez ! je comprend bien ce que vous m'expliquez.
    J'avais essayé :
    If "feuil3".cell.Value (H1:H &lastrow) = "Feuil1".cell.Value (V1:V&lastrow) Then

    Et ca me marchais pas

    Merci pour votre aide.

  7. #7
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    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
    Sub copier()
     
    Dim Dernligne As Long 
    With Sheets("feuil1")
    Tablo = .Range("A2", "V" & .Range("V" & .Rows.Count).End(xlUp).Row) ' ici on déclare un tableau dans la feuille 1 qui commence de la cellule A2 jusqu'au dernière cellule non vide de la colonne V
    End With
     
    With Sheets("feuil3")
    Dernligne = .Range("A" & Rows.Count).End(xlUp).Row ' ici pour chercher la dernière cellule non vide de la colonne A de la feuille 3
    For i = LBound(Tablo, 1) To UBound(Tablo, 1)
            For j = 2 To Dernligne ' commence la recherche de 2 à la dernière cellule non vide
                 If .Cells(j, 8) = Tablo(i, 22) Then ' si la valeur de la cellule h (puisque la colonne h est de rang 8) égal à la cellule dans la colonne V du tableau déja définie alors
                    .Cells(j, 2) = Tablo(i, 9) 'la celleule B de la feuil 3 = à la cellule 9 du tableau
     
                 End If
            Next j 
      Next i
    End With
    End Sub

  8. #8
    Membre averti
    Femme Profil pro
    Assistante
    Inscrit en
    Novembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Assistante

    Informations forums :
    Inscription : Novembre 2017
    Messages : 12
    Par défaut MERCI !
    Merci beaucoup BENNASR

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

Discussions similaires

  1. [XL-2007] enregistrer feuil 1 avec le contenu d'une cellule
    Par 3abou2017 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/01/2017, 02h46
  2. [VBA]Copier le contenu d'une cellule d'un autre classeur
    Par dudu59 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 01/02/2006, 17h08
  3. Réponses: 3
    Dernier message: 27/01/2006, 18h35
  4. Importer le contenu d'une cellule Excel vers Access
    Par deaqu1 dans le forum Access
    Réponses: 7
    Dernier message: 05/11/2005, 15h26
  5. [JTable] Changer le contenu d'une seule cellule
    Par terminagroo dans le forum Composants
    Réponses: 7
    Dernier message: 05/07/2005, 13h50

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