Extraction et insertion d'une ligne
Bonjour tout le monde,
je vous explique ce que j'ai fais:
j'ai une feuille excel dans un classeur, je dois faire un teste sur de colonnes de cette feuille, e chaque fois que lle traitement est vrai je créée une autre feuille dans le meme classeur et j'y insert toute la ligne , ça je l'ai fais avec le code suivant et ça marche tres bien:
Sub Extraction()
Dim DerLig As Long, Lig As Long
Dim FeuilDst As Worksheet, DerLD As Long
Sheets.Add
ActiveSheet.Name = "Liste des Demandes"
' Définir la valeur de l'Objet FeuilDst
' Nom de la feuille de Destination
Set FeuilDst = ActiveSheet
Call ecrire
' Avec la Feuille 1
With Sheets("Feuil1")
' Trouver la dernière ligne
DerLig = .Range("AG" & Rows.Count).End(xlUp).Row
' Pour chaque ligne
For Lig = 3 To DerLig
' Si le test est OK
If .Range("AG" & Lig) < .Range("AJ" & Lig) Then
'Colorer le numero en vert
.Range("B" & Lig).Font.Color = vbGreen
' Extraire les valeurs des colonnes
'A, B, F, I, AG, AJ où le teste est vrai
' Récupérer la dernière ligne de la feuille de destination
DerLD = FeuilDst.Range("A" & Rows.Count).End(xlUp).Row
' Inscrire les valeurs
FeuilDst.Range("A" & DerLD + 1).Value = .Range("A" & Lig).Value
FeuilDst.Range("B" & DerLD + 1).Value = .Range("B" & Lig).Value
FeuilDst.Range("C" & DerLD + 1).Value = .Range("F" & Lig).Value
FeuilDst.Range("D" & DerLD + 1).Value = .Range("I" & Lig).Value
FeuilDst.Range("E" & DerLD + 1).Value = .Range("AG" & Lig).Value
FeuilDst.Range("F" & DerLD + 1).Value = .Range("AJ" & Lig).Value
End If
Next Lig
End With
End Sub Sub ecrire()
'
' ecrire Macro
' Macro enregistrée le 14/11/2008 par elhoumy
'
'
Range("A1").Select
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Réf"
Range("B1").Select
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Numéro"
Range("C1").Select
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Version Réelle"
Range("D1").Select
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Type"
Range("E1").Select
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "Devis de Développement"
Range("F1").Select
Selection.Font.Bold = True
ActiveCell.FormulaR1C1 = "RAF dev + tu"
Range("A2").Select
Columns("F:F").ColumnWidth = 17.86
End SubLà j'ai envie que l'insertion se fasse dans une feuille deja existante "demandes closes" à la derniere ligne.
Comment je peux faire ça?
aidez moi SVP
Merci
Bonjour,
Là on voit deux codes. Dans lequel veut tu faire cela ?
Ne peux-tu pas mettre ton fichier, ce sera plus facile de t'aider
A te relire
Dan
Edit :
En attendant ta réponse voici ton code modifié
Sub ecrire()
Range("A1") = "Réf"
Range("B1") = "Numéro"
Range("C1") = "Version Réelle"
Range("D1") = "Type"
Range("E1") = "Devis de Développement"
Range("F1") = "RAF dev + tu"
Range("A1:F1").Font.Bold = True
Columns("F:F").ColumnWidth = 17.86
End SubEdit 2 :
Dans ton code, remplace
Sheets.Add
Activesheet.Name = "Liste des Demandes"
Set FeuilDst = ActiveSheetpar
Set FeuilDst = Sheets("demandes closes")Autre chose, tu peux changer
Sheets.Add
Activesheet.Name = "Liste des Demandes"par
Sheets.Add.Name = "Liste des Demandes"
Dan