Macro pour insérer une ligne puis étirer

  • Initiateur de la discussion Initiateur de la discussion archi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

archi

XLDnaute Impliqué
Bjr le forum,

j'ai une macro réalisé par l'éditeur VB
Code:
Sub Inserer()
    Rows("30:30").Select
    Selection.Insert Shift:=xlDown
    Range("C29").Select
    Selection.AutoFill Destination:=Range("C29:C30"), Type:=xlFillDefault
    Range("H29:M29").Select
    Selection.AutoFill Destination:=Range("H29:M30"), Type:=xlFillDefault
End Sub
Sachant que mon tableau est variable on nombre de ligne,
comment insérer une ligne sous la dernière cellules vide du tableau X, puis étirer celle-ci comme ci-dessus ??

Merci d'avance
bye
 
Dernière édition:
Re : Macro pour insérer une ligne puis étirer

Bonjour,

Dim DernL As Integer
With Worksheets("feuil1") 'si le nom de ta feuil est feuil1
DernL = Range("B65536").End(xlUp).Row

ceci permet de récuperer le numero de ligne de la derniere valeur de ton tableau.Cette valeur est stockée dans DernL.

Dans ton expemple, a quoi correspond la derniere ligne de ton tableau, 29 ou 30 ??
 
Re : Macro pour insérer une ligne puis étirer

Bonjour,

Pour ce qui est de connaitre la derniere ligne remplie, tu peux utiliser :
DerniereLigne=range("A65536").end(xlup).row
si tu l'incremente de 1 tu as la premiere ligne vide.

le range("A65536") doit etre remplacé par B65536 ou C65536... en fonction de la colonne ou tu auras des infos de facon systematique

ensuite tu peux simplement dire que :

cells(derniereligne,x).value=cells(derniereligne-1,x).value
x etant le numero de la colonne
 
Re : Macro pour insérer une ligne puis étirer

Donc
DerniereLigne=range("A65536").end(xlup).row+1

correspond a ta premiere ligne vide. A ce stade tu n'a pas besoin d'inserer
cells(derniereligne,3).value=cells(derniereligne-1,3).value (3 pour la colonne C)
cells(derniereligne,8).value=cells(derniereligne-1,8).value (8 pour la colonne H)


sub InsereRecopie()
dim DernierLigne as long

DerniereLigne=range("A65536").end(xlup).row+1
cells(derniereligne,3).value=cells(derniereligne-1,3).value
cells(derniereligne,8).value=cells(derniereligne-1,8).value
end sub

Normalement ca doit coller, il te suffi de recopier la derniere ligne autant de fois que tu as de cellulues a copier ou d'utiliser l'autofill

Selection.autofill destination:=Range("H" trim(str(derniereligne-1)) & ":M" & trim(str(derniereligne))), Type:=xlFillDefault
 
Dernière édition:
Re : Macro pour insérer une ligne puis étirer

merci Lapix,

ya un bug dans
Selection.AutoFill Destination:=Range("H" & Trim(Str(derniereligne - 1)) & "M" & Trim(Str(derniereligne))), Type:=xlFillDefault

ci-joint mon fichier

bye
 

Pièces jointes

Dernière édition:
Re : Macro pour insérer une ligne puis étirer

Desolé,

Range("H" & derniereligne - 1 & ":M" & derniereligne - 1).Select
Selection.AutoFill Destination:=Range("H" & derniereligne - 1 & ":M" & derniereligne), Type:=xlFillDefault


Avec ca ca devrait aller mieux
 
Re : Macro pour insérer une ligne puis étirer

Vu

En fait, derniereLigne vas te donner la ligne 'meilleur tour'
il te suffit de dire derniereligne-4 pour avoir la premiere ligne vide AVANT tes 4 ligne de synthese

Ca devra ressembler a ca :

Sub InsereRecopie()
Dim DerniereLigne As Long

DerniereLigne = Range("C65536").End(xlUp).Row - 4
Cells(DerniereLigne, 1).EntireRow.Insert
Range("H" & DerniereLigne - 1 & ":M" & DerniereLigne - 1).Select
Selection.AutoFill Destination:=Range("H" & DerniereLigne - 1 & ":M" & DerniereLigne), Type:=xlFillDefault
End Sub
 
Dernière édition:
Re : Macro pour insérer une ligne puis étirer

Ok c bon, j'ai bricolé un peu pour obtenir un résultat satisfaisant
Merci Lapix

maintenant, j'aimerai associer cette macro avec un userform qui me permet de ventiler le nom du pilote ainsi que sa nationalité dans les cellules appropriées
mais je sais pas comment faire ??
peux tu m'aider ??

bye
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
243
Retour