Macro pour insertion lignes
Utilisateur anonyme
-
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
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
A voir également:
- Macro pour insertion lignes
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
10 réponses
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
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
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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
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
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
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
J'ai trouvé ca ce matin car je cherchais la meme chose.
https://www.pcastuces.com/pratique/astuces/4272.htm
https://www.pcastuces.com/pratique/astuces/4272.htm