Macro VBA insertion ligne sous conditions colonnes

Queen_Margot Messages postés 3 Statut Membre -  
titeufdu89 Messages postés 387 Statut Membre -
Bonjour,

Toutes mes excuses si la question a déjà été posée, mais après plusieurs heures passées sur les forums, je n'ai pas réussi à trouver la solution à mon problème.

Alors voilà, dans le fichier Excel joint la feuille "Synthèse" est alimentée par un macro qui copie / colle du texte d'une autre feuille à partir de la cellule C14. Jusque là tout va bien.

J'aurais maintenant besoin d'insérer des lignes vierges entre chaque question (i.e. en fonction de la colonne C si celle-ci est non vide et à partir de la ligne 14 seulement). Dans mon fichier j'ai 10 questions mais je peux en avoir 1 comme 100.

Sauriez-vous m'aider ?

Par avance merci à vous de votre aide,

Cordialement,

Ci-après le lien vers le fichier : https://wetransfer.com/downloads/e0b8a6cf29e2378ee9dd0a271ea63da820170515170215/f1489444fb28d21941d3059acb4436ee20170515170215/a36546

3 réponses

  1. titeufdu89 Messages postés 387 Statut Membre 38
     
    Bonjour,

    Je ne parviens pas à ouvrir ton fichier donc je te joins un bout de code qui devrait régler ton problème.
    Colle ce colle dans visual basic, relie-le a un bouton d'exécution sur la page en question et ça devrait le faire ;-)

    Bonne journée

    Jc


    Sub Ajout_ligne()
    Dim i As Integer

    'Permet de ne pas voir la macro s'effectuer, elle affiche juste le résultat final
    Application.ScreenUpdating = False

    'la macro s'effectuera sur la feuille activée de ton fichier excel
    With ThisWorkbook.ActiveSheet

    'Pour chaque ligne de ton fichier de la ligne 14 à la fin de ton document
    For i = .Range("A" & .Rows.Count).End(xlUp).Row To 14 Step -1
    'Si la colonne C est non vide
    If .Range("C" & i).Value <> "" Then
    'On selection la ligne de dessous et on insert un ligne au dessus
    .Rows(i + 1).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    End If
    Next i
    End With

    End Sub

    0
    1. Queen_Margot Messages postés 3 Statut Membre
       
      Bonjour,

      Merci beaucoup pour ce retour aussi rapide.
      J'ai bien inséré le code dans un module mais cela ne fonctionne pas lorsque j'exécute la macro. Est-ce lié au test sur la colonne A ou C ?
      Le lien de téléchargement vers le fichier avec la macro est indiqué juste en dessous.

      Cordialement,
      0