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 :

Souci avec un Rows().insert


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Par défaut Souci avec un Rows().insert
    Bonjour,

    Je travail avec 2 sorte de tableau. Je parcours 2 colonne d'un tableau et si la cellule est rempli, je copie cette ligne pour la coller sur un autre tableau.

    Mon parcours de colonne se fait trés bien et quand je rajoute mon Rows().insert le code est complétement perdu !!!!!
    Je m'explique : adepte des msgbox pour savoir si tout se passe bien, j'ai mis un msgbox pour afficher la cellule rempli, la tout va bien. Quand je rajoute mon insert, ma boucle ne tourne plus rond lol et je me rajoute 2 fois plus de lignes !!!

    Extrait de mon code

    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
    Sub MAJ()
     
        Dim ligneTab2 As Integer
        Dim ligneAjout As Integer
        Dim lcopy As Range
        Dim lpaste As Range
     
     
        For ligneTab2 = Range("LigneTitreA").Row + 2 To Range("LigneFinA").Row - 1
            ligneAjout = Range("LigneFinR").Row - 1
            If Cells(ligneTab2, Range("C_Total_HT").Column) <> "" Or Cells(ligneTab2, Range("C_Total_HT").Column) <> "" Then
                'MsgBox Cells(ligneTab2, Range("C_Total_HT").Column)
                'MsgBox Range(Cells(ligneTab2, Range("C_Societe").Column), Cells(ligneTab2, Range("C_Remarques_A").Column)).Select
                Rows(ligneAjout).Insert
                'Set lcopy = Range(Cells(ligneTab2, Range("C_Societe").Column), Cells(ligneTab2, Range("C_Remarques_A").Column))
            End If
        Next
    End Sub
    Peut être une erreur inattention ou alors je fais une manip qui n'est pas la bonne.

    Merci de votre aide

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    On dirait que tu scrutes un tableau en y insérant de temps en temps des lignes. Si c'est bien cela, tu devrais partir de la dernière ligne pour remonter à la première, et pas l'inverse.

    Cdlt,

    PGZ

  3. #3
    Membre habitué
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Par défaut
    Merci je vais essayer dans ce sens

  4. #4
    Membre habitué
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Par défaut
    Ok now au lieu d'avoir plus de ligne j'en ai moins car il fait un saut de 2 lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        For ligneTab2 = Range("LigneFinA").Row - 1 To Range("LigneTitreA").Row + 2 Step -1
     
            If Cells(ligneTab2, Range("C_Total_HT").Column) <> "" Or Cells(ligneTab2, Range("C_Total_HT").Column) <> "" Then
                MsgBox Cells(ligneTab2, Range("C_Total_HT").Column)
                'MsgBox Range(Cells(ligneTab2, Range("C_Societe").Column), Cells(ligneTab2, Range("C_Remarques_A").Column)).Select
                ligneAjout = Range("LigneFinR").Row - 1
                Rows(ligneAjout).Insert
                'Set lcopy = Range(Cells(ligneTab2, Range("C_Societe").Column), Cells(ligneTab2, Range("C_Remarques_A").Column))
            End If
        Next

  5. #5
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Re,

    C'est normal, puisque tu demandes d'insérer 1 ligne...
    En fait tu veux faire quoi? Insérer 2 lignes au dessus de chaque ligne qui contient quelque chose dans la colonne "Total HT" ou dans la colonne "TotalHT"?
    Je bégaie avec cette colonne total HT, mais ton code aussi!

    Pour insérer 2 lignes au-dessus de la ligne ligneTab2, si oSh est une instance de la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oSh.Range(ligneTab2 & ":" & lignetab2 +1).insert
    Cordialement,

    PGZ

  6. #6
    Membre habitué
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Par défaut
    Merci pgz,

    Je m'explique plus simplement lol

    Je dispose de 2 tableaux "Attente" et "Répondu". Lorsque je reçois une réponse je rempli mon tableau "Attente" et quand je clique sur mon bouton MAJ, la ligne qui vient d'être complété bascule vers mon tableau "Reçu".

    Mes colonne HT et TTC ne me serve uniquement à faire mes contrôle car je ne peux pas permettre de rajouter une nouvelle ligne sans avoir le prix HT ou TTC.

    Mon tableau "Répondu" dispose d'une ligne fixe (Pour une mise en page) et donc je veux rajouter cette nouvelle ligne en avant dernière position de mon tableau.

Discussions similaires

  1. [MySQL] interrogation base mysql et requete soucis avec row
    Par clem62173 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/01/2010, 19h03
  2. petit souci avec insert
    Par nana 69 dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/08/2008, 11h24
  3. soucis avec une requète d'insertion
    Par veriecherie dans le forum ASP
    Réponses: 8
    Dernier message: 05/08/2008, 11h11
  4. [MySQL] soucis avec un INSERT
    Par FraK dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 28/06/2007, 17h50
  5. [MySQL] Soucis avec une insertion dans une base
    Par Ludo75 dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 27/01/2006, 14h03

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