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 :

Comment insérer une ligne vide?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Par défaut Comment insérer une ligne vide?
    Bonjour,

    J’ai une question assez simple à vous poser.

    Je souhaite insérer un nom dans un tableau qui contient une liste de noms, précisemment juste après le nom "strrr".

    Je ne sais pas comment je peux dans un premier temps insérer après ce nom une ligne vide pour éviter que l’insertion de mon nom "strrr2" ne remplace le nom qui suit "strrr" dans la liste.

    J’ai essayé d’insérer une ligne vide après strrr mais j’y arrive pas.

    Voila 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
    19
    20
    21
    22
    23
    Sub test()
     
    Dim i, j As Long
     
        Sheets("feuille1").Select
     
        j = 4
     
        For i = 3 To 65536
     
            If Cells(i, j).Value = strrr Then
     
           'insérer une nouvelle ligne ???
           'puis insérer le nom strrr2, cells (i+1,j).value = strrr2
     
            Rows.Select
            Selection.Insert Shift:=xlDown
     
        End If
     
        Next i
     
    End Sub
    Je vous remercie d'avance pour votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Par défaut
    essaye
    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
    Sub test()
     
    Dim i, j As Long
     
        Sheets("feuille1").Select
     
        j = 4
     
        For i = 3 To 65536
     
            If Cells(i, j).Value = strrr Then
     
           'insérer une nouvelle ligne ???
           'puis insérer le nom strrr2, cells (i+1,j).value = strrr2
     
            Rows(i+1).Insert Shift:=xlDown
            Cells(i+1, j) = strrr2
     
            'Rows.Select
            'Selection.Insert Shift:=xlDown
     
        End If
     
        Next i
     
    End Sub

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Par défaut
    Bonsoir,

    Merci pour ton intervention melouille56.

    Malheureusement, ça ne marche pas

    Je vous remercie d'avance pour votre aide.

    N'hésitez surtout pas à proposer des alternatives.

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Ci dessous un code qui fonctionne.
    J'ai revu ton code afin d'éviter de lire la feuille jusqu'a la derniere ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim i As Long
     
    i = 1
     
    'recherche la ligne avec le nom recherché
    Do While Range("D" & i).Value <> "strrr"
        i = i + 1
    Loop
     
    If Range("D" & i).Value = "strrr" Then
        Rows(i + 1).Insert Shift:=xlDown
    End If

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Par défaut
    Merci jfontaine pour ta réponse.

    mais le code ne fait rien du tout meme si j'ai le nom que je cherche dans la colonne D de mon tableau.

    en plus le code n'aborde à aucun moment l'insertion de "strrr2" dans la cellule en dessous de celle de strrr??

    Merci encore pour l'aide

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Ce code est fait pour etre au niveau de la feuille qui contient les données.
    Si tu utilises un module, il faut ajouter le nom de la feuille avant les range


    J'ai modifier le code pour qu'il ajoute strrr2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Dim i As Long
     
    i = 1
     
    'recherche la ligne avec le nom recherché
    Do While Range("D" & i).Value <> "strrr"
        i = i + 1
    Loop
     
    If Range("D" & i).Value = "strrr" Then
        Rows(i + 1).Insert Shift:=xlDown
        Range("D" & i+1).value="strrr2"
    End If

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

Discussions similaires

  1. [AxComboBox] Comment inserer une ligne vide ?
    Par tssi555 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 29/09/2008, 10h52
  2. [MDX]Insérer une ligne vide dans un dataset
    Par Reskibil dans le forum SSAS
    Réponses: 0
    Dernier message: 11/06/2008, 15h02
  3. Macro ACCESS / Insérer une ligne vide
    Par david71 dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/03/2008, 10h20
  4. [C#]Comment ajouter une ligne vide a un datalist ?
    Par rfaouzi dans le forum ASP.NET
    Réponses: 4
    Dernier message: 08/11/2006, 10h34
  5. comment insérer une ligne avec CFile::Write
    Par gbardy dans le forum MFC
    Réponses: 2
    Dernier message: 10/08/2006, 10h19

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