johnmarket
XLDnaute Nouveau
Bonjour à tous,
Je voulais tout d'abord remercier chacun des contributeur de ce forum parceque le travail effectué est sublime.
Je voulais vous soumettre ma question.
Tout d'abord voici la macro
Public Sub CopieValeurs()
' // Copie des lignes desirées dans les feuilles de calcul dédiées
Dim PlageUtile As Range
Dim ligne As Range
Dim Origine As Worksheet
Dim Destination As Worksheet
Dim LigneDestination As Integer
Set Origine = Worksheets("DATA")
Set Destination = Worksheets("DMP-")
'Effacer le contenu de la feuille de destination
Destination.Cells.Clear
'Copier la 1ère ligne : l'entête
Destination.Rows("1").Value = Origine.Rows("1").Value
Set PlageUtile = Range(Origine.Cells(1, 1), Origine.Cells(1, 1).SpecialCells(xlLastCell))
MsgBox "Attention, nous allons travailler sur la plage " & PlageUtile.Address
' commencer à partir de la ligne 2 puisqu'en 1ère linge on a mis l'entête
LigneDestination = 2
For Each ligne In PlageUtile.Rows
If ligne.Cells(1, 33).Value = "X" Then
ligne.Copy Destination.Cells(LigneDestination, 1)
LigneDestination = LigneDestination + 1
End If
Next
End Sub
Ce macro fonctionne très bien et j'ai le message
Attention, nous allons travailler sur la plage $A$1:$AM$295 --> Donc 39 colonnes.
Mais je souhaite l'améliorer
je teste en effet que la colonne 33 possède X
Mais je souhaite copier dans la feuille "DMP-" que les 20 premières colonnes et non les 39.
Je n'arrive pas !
avez-vous une idée ?
Je voulais tout d'abord remercier chacun des contributeur de ce forum parceque le travail effectué est sublime.
Je voulais vous soumettre ma question.
Tout d'abord voici la macro
Public Sub CopieValeurs()
' // Copie des lignes desirées dans les feuilles de calcul dédiées
Dim PlageUtile As Range
Dim ligne As Range
Dim Origine As Worksheet
Dim Destination As Worksheet
Dim LigneDestination As Integer
Set Origine = Worksheets("DATA")
Set Destination = Worksheets("DMP-")
'Effacer le contenu de la feuille de destination
Destination.Cells.Clear
'Copier la 1ère ligne : l'entête
Destination.Rows("1").Value = Origine.Rows("1").Value
Set PlageUtile = Range(Origine.Cells(1, 1), Origine.Cells(1, 1).SpecialCells(xlLastCell))
MsgBox "Attention, nous allons travailler sur la plage " & PlageUtile.Address
' commencer à partir de la ligne 2 puisqu'en 1ère linge on a mis l'entête
LigneDestination = 2
For Each ligne In PlageUtile.Rows
If ligne.Cells(1, 33).Value = "X" Then
ligne.Copy Destination.Cells(LigneDestination, 1)
LigneDestination = LigneDestination + 1
End If
Next
End Sub
Ce macro fonctionne très bien et j'ai le message
Attention, nous allons travailler sur la plage $A$1:$AM$295 --> Donc 39 colonnes.
Mais je souhaite l'améliorer
je teste en effet que la colonne 33 possède X
Mais je souhaite copier dans la feuille "DMP-" que les 20 premières colonnes et non les 39.
Je n'arrive pas !
avez-vous une idée ?