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 :

Mise à jour colonne destination [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Novembre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut Mise à jour colonne destination
    Bonjour

    Je souhaite mettre à jour la colonne destination 24 de la feuille Sheet1, avec les données de la colonne 11 de la feuille Feuil5

    J'ai crée une macro :

    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 updPPG()
    Dim lastrow As Long, erow As Long
     
    lastrow = Feuil5.Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To lastrow
     
    Feuil5.Cells(i, 11).Copy
    erow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
     
    Feuil5.Paste Destination:=Worksheets("Sheet1").Cells(erow, 24)
     
    Next i
     
    Application.CutCopyMode = False
    Sheet1.Columns.AutoFit
    Range("A1").Select
     
    End Sub
    Il ne se passe rien. Les données de la colonne destination ne sont pas écrasées.

    Merci de m'éclairer

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Dans ton code, une chose m'intrigue ! Tu as cette ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lastrow = Feuil5.Cells(Rows.Count, 1).End(xlUp).Row
    et cette ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    erow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
    Je suis surpris que tu puisses avoir et Feuil5 et Sheet1 ? Si Excel est en Français, tu devrais avoir Feuil1 et non Sheet1 et si en Anglais Sheet5 et non Feuil5 ?
    C'est bien ce que tu as dans la fenêtre "Explorateur de projets (en haut à gauche) ?

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Novembre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Tout à fait,

    Mon fichier xls de départ avec ma premiére macro est un fichier dl en anglais

    Ensuite, pour développer, j'ai rajouté des feuilles (Feuil in French!)

  4. #4
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Ok, je comprends mieux !

    Dans ton code ligne 9 tu fait la recherche sur la colonne A mais tu n'y inscrit pas de valeur donc elle sera la même tout au long de la boucle car les valeurs sont inscrites en colonne X. Il te faut d'abords récupérer la première position par rapport à la colonne A puis ensuite, te référer à la colonne X :
    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
     
    Sub updPPG()
     
        Dim lastrow As Long, erow As Long
        Dim I As Integer
     
        lastrow = Feuil5.Cells(Rows.Count, 1).End(xlUp).Row
     
        'd'abords sur la colonne A...
        erow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
     
        For I = 2 To lastrow
     
            Sheet1.Cells(erow, 24) = Feuil5.Cells(I, 11).Value
            'ensuite sur la colonne X
            erow = Sheet1.Cells(Rows.Count, 24).End(xlUp).Offset(1, 0).Row
     
        Next I
     
        Application.CutCopyMode = False
        Sheet1.Columns.AutoFit
        Range("A1").Select
     
    End Sub

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Novembre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Je comprends ton raisonnement, mais cela ne fonctionne pas !

    Ci-joint fichier complet :

    Colonne Total feuille PROJ

    sur FPPG feuille Sheet1

    Merci par avance
    Fichiers attachés Fichiers attachés

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Novembre 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Je me suis aperçu que le coller s'est effectué à la ligne 189 de la colonne suivante X .....

    Pourquoi? Je ne vois pas

  7. #7
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Tu me parles de "Colonne Total feuille PROJ" mais la feuille "PROJ" a pour module "Feuil7" et non module "Feuil5" qui lui est le module de la feuille "FW".
    Je pense qu'il est préférable d'utiliser les noms des feuilles plutôt que les noms de leurs modules :
    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
     
    Sub updPPG()
     
        Dim lastrow As Long, erow As Long
        Dim I As Integer
     
        lastrow = Worksheets("PROJ").Cells(Rows.Count, 1).End(xlUp).Row
     
        'd'abords sur la colonne A...
        erow = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
     
        For I = 2 To lastrow
     
            Worksheets("Sheet1").Cells(erow, 24) = Worksheets("PROJ").Cells(I, 11).Value
            'ensuite sur la colonne X
            erow = Worksheets("Sheet1").Cells(Rows.Count, 24).End(xlUp).Offset(1, 0).Row
     
        Next I
     
        Worksheets("Sheet1").Columns.AutoFit
        Range("A1").Select
     
    End Sub

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

Discussions similaires

  1. Mise à jour colonne vide à partir d'une autre colonne
    Par Ordonnateur dans le forum Oracle
    Réponses: 2
    Dernier message: 08/11/2011, 10h32
  2. Mise à jour colonne depuis une autre
    Par Kishin dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/06/2010, 14h02
  3. [access] mise à jour colonne
    Par nosdo dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 31/10/2007, 15h18
  4. [Access 2000] Mise à jour colonne
    Par grotoumou dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/11/2006, 14h10
  5. 1 colonne, 3 mises à jour possibles
    Par aechevar dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/11/2005, 15h49

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