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 :

insertion d'une colonne par décalage


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 96
    Par défaut
    Bonjour à tous, j’ai un petit soucis. Voilà je n’arrive pas à effectuer un décallage des valeurs d’un tableau, afin d’insérer une nouvelle ligne de valeurs. Je part donc du bas de mon tableau, la dernière ligne étant « DerLig », et je fais le code suivant : le problème doit venir de la sélection de la ligne pour la déplacer sur la ligne du dessous…
    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
    29
     For ColonneTCDyn = 5 To DerniereColonneTCDyn
        If Cells(8, ColonneTCDyn).Value <> Cells(8, ColonneTCDyn - 1).Value + 1 Then
            'on stocke la valeur du mois manquant
            MoisManquant = Cells(8, ColonneTCDyn).Value
     
            'si les mois ne se suivent pas on insère une nouvelle ligne rouge d'affaire fictive dans DATA
            'correspondante au mois manquant, non compté pour le 1er bloc, afin de bien avoir toutes les colonnes
            Sheets(OngletDataProduit).Select
            'on compte le nombre de lignes en rouge pour savoir où insérer la ligne
            LigneRougeData = 2
            While Cells(LigneRougeData, 1).Interior.ColorIndex = 3
                LigneRougeData = LigneRougeData + 1
            Wend
            'on décale d'abord tout se qui suit, en partant du bas du tableau
            For LigneData = DerLig To LigneRougeData - 1 Step -1
               'sélection de toute la ligne
               Range(LigneData).Select
               Selection = LigneData + 1
            Next LigneData
            'on met les valeurs dans la ligne insérée
            Cells(LigneRougeData, 1).Value = "2000"
            Cells(LigneRougeData, 2).Value = MoisManquant
            Cells(LigneRougeData, 4).Value = "1"
            Cells(LigneRougeData, 5).Value = Cells(2, 5).Value
            Cells(LigneRougeData, 7).Value = "ncHC"
            Cells(LigneRougeData, 8).Value = "non compté"
            Sheets(OngletTCDyn).Select
        End If
    Next ColonneTCDyn

    Est ce que quelqu’un pourrait m’aider ? merci et bonne journée

    pardon, mes bornes sont plutôt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For LigneData = DerLig To LigneRougeData Step -1

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut babou466 et le forum
    Comprends pas ce que tu veux faire : si tu veux inserrer, pourquoi ne fais-tu pas une insertion ?
    tu recherches une ligne dont la cellule A est rouge (pas par MFC)
    DerLig : comment tu la calcules comment ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For LigneData = DerLig To LigneRougeData - 1 Step -1
               'sélection de toute la ligne
               Range(LigneData).Select
               Selection = LigneData + 1
            Next LigneData
    ??? serait pas plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For LigneData = DerLig To LigneRougeData - 1 Step -1
               'sélection de toute la ligne
               Range(LigneData).Select
               rows(LigneData).copy rows(LigneData+1)        
    Next LigneData
    , mais comme je comprends pas...
    A+

Discussions similaires

  1. Insertion d'une colonne date du jour
    Par azerty dans le forum Langage SQL
    Réponses: 5
    Dernier message: 22/09/2006, 08h09
  2. Trier une colonne par date
    Par foobar42 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/07/2006, 17h46
  3. Ajouter une colonne (par du code) dans Listview
    Par __fabrice dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/11/2005, 17h39
  4. Initialisation d'une colonne par rapport à une autre colonne
    Par jeromesco dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/04/2005, 17h15
  5. INTERBASE 5.5 insertion dans une colonne BLOB
    Par mariustrezor dans le forum Bases de données
    Réponses: 4
    Dernier message: 29/10/2004, 18h06

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