Macro pour insertion lignes

Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,
J'ai un tableau excel dans lequel il ya un menu deroulant sur la colonne C. j'aimerai que quand un item du menu est selectionné (donc cellule non vide), une autre ligne s'insère automatiquement et que les formules des autres cellules se duplique. je ne suis pas une pro des macros, j'ai essayé ça mais elle ne s'execute pas automatiquement et elle ne duplique pas les formules des autres cellules. merci pour votre aide.

Sub InsertRows()

Dim Ligne As Long

' derniere ligne remplie de la colonne C

Ligne = ActiveSheet.Columns(5).Find("*", , , , xlByColumns, xlPrevious).Row

' boucle depuis la dernière ligne remplie jusqu'à la 1

For n = Ligne To 1 Step -1 ' si necessaire de s'arrêter avant la ligne 1 changer To 1

' si cellule en C vide

If Range("C" & n).Value <> "" Then

' alors insertion à la ligne suivante

Rows(n + 1 & ":" & n + 1).Select

Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

End If

Next

End Sub

10 réponses

  1. franc38 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   38
     
    Bonjour,
    Sub InserLigne_L_()
    Dim Plage As Range

    ActiveCell.EntireRow.Copy
    ActiveCell.EntireRow.Insert
    Set Plage = ActiveCell.EntireRow.SpecialCells(xlCellTypeConstants, 3)
    If Not Plage Is Nothing Then Plage.ClearContents
    End Sub

    A+ François
    1
  2. Utilisateur anonyme
     
    Merci François,
    Sur mon fichier, dans la colonne C j'ai différents menus déroulants. Quand j'execute la macro pour la premiére fois, la ligne s'insert au bon endroit, mais par la suite, les lignes s'inserent sous les lignes déjà insérées par la macro même si elles sont vides. de plus sur la colonne E, j'ai une somme qui ne se calcule pas.
    Merci pour votre aide.
    0
  3. franc38 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   38
     
    Bonjour
    Il serai souhaitable d'avoir un fichier pour pouvoir t'aider
    Utilise cjoint.com
    A+ François
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour à tous les deux

    Peux tu ajouter (à la main) quelques lignes complétées à la fin de ton premier tableau pour qu'on voie ce que tu souhaites obtenir après insertion ?

    Cdlmnt
    0
  6. Utilisateur anonyme
     
    Bonjour,
    Je viens d'exécuter la macro, ce que je veux c'est quand je l'execute une deuxieme fois pour le tableau plus bas, qu'il ne m'insert pas d'autres lignes en haut (remplissage jaune). je veux que ça se fasse juste quand la ligne du dessus est non vide. deplus j'aiamerai qu'un total se calcul (fait manuellemet)

    merci pour votre aide
    0
  7. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Je n'ai pas regardé ni modifié la macro.
    Pour comprendre exactement ce que tu veux, j'ai besoin d'un fichier complété (manuellement tu ajoutes trois ou quatre lignes renseignées) comme ,indiqué dans mon précédent message

    Cdlmnt
    0
  8. franc38 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   38
     
    Bonjour
    J'espère que ça correspond à tes souhaits
    https://www.cjoint.com/c/JIrfcXcAUbz
    A+ François
    0
    1. Utilisateur anonyme
       
      merci beaucoup François, ça fonctionne.
      0
  9. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour,

    Un essai quand même
    https://www.cjoint.com/c/JIrjH4LKGvB

    Cdlmnt
    0
    1. Utilisateur anonyme
       
      merci beaucoup ccm81, ça fonctionne.
      0