Votre question

Copier coller ligne selon condition cellule solution de Drul qui ne fonctionne pas chez moi

Tags :
  • Cell
Dernière réponse : dans Programmation
29 Mai 2017 19:52:27

Bonjour,
Je viens de trouver une solution qui ne fonctionne pas pour moi. (id-2998317).
Je souhaite en fait pouvoir copier coller les lignes d'une feuille1 dans une feuille 2 qui contiennent l’intitulé "Monsieur" ou l’intitulé "Madame" dans les cellules de la colonne 1.

Le code de drul est le suivant :

Sub truc()

Dim AG As Worksheet
Dim HO As Worksheet
Dim cell As Range
Dim MyTarget As Range
Dim MyData As Range
Dim lastRow As Long

Set AG = Worksheets("AMDEC Global")
Set HO = Worksheets("Feuil1")

lastRow = AG.Cells(Application.Rows.Count, 14).End(xlUp).Row
Set MyTarget = HO.Range("B2")

For Each cell In AG.Range("N1:N" & lastRow)
If cell.Value = "O" Then
If MyData Is Nothing Then
Set MyData = AG.Range(AG.Cells(cell.Row, 1), AG.Cells(cell.Row, 19))
Else
Set MyData = Union(MyData, AG.Range(AG.Cells(cell.Row, 1), AG.Cells(cell.Row, 19)))
End If
End If
Next
MyData.Copy MyTarget
End Sub

Quand j'essaye de le modifier j ai un message d erreur 91 "variable objet ou variable de bloc with non défini"
Novice en VBA pourriez vous m'aider SVP. par avance Merci

Autres pages sur : copier coller ligne condition cellule solution drul fonctionne

30 Mai 2017 06:59:22

Bonjour
Je n'y connais pas grand chose en prog mais vérifie tes parenthèses.
m
0
l
30 Mai 2017 16:02:40

Merci Vince.
je viens de trouver l'erreur (la plage de donnée ("N1:N" & lastRow) ne correspondait à rien pour moi

voici le code modifié qui fonctionne avec toutes les cellules commençant par Madame.
il ne me reste plus qu'à faire la même chose pour que ca marche avec "Monsieur" ou avec "Madame"

bonne journée Vince et encore merci
Et bien sur merci à Drul et au premier "posteur" qui a lancé le sujet


Sub truc()

Dim AG As Worksheet
Dim HO As Worksheet
Dim cell As Range
Dim MyTarget As Range
Dim MyData As Range
Dim lastRow As Long

Set AG = Worksheets("Feuille1")
Set HO = Worksheets("Feuil2")

lastRow = AG.Cells(Application.Rows.Count, 14).End(xlUp).Row
Set MyTarget = HO.Range("A2")
For Each cell In AG.Range("A1:A" & lastRow)
If cell.Value = "Madame" Then
If MyData Is Nothing Then
Set MyData = AG.Range(AG.Cells(cell.Row, 1), AG.Cells(cell.Row, 19))
Else
Set MyData = Union(MyData, AG.Range(AG.Cells(cell.Row, 1), AG.Cells(cell.Row, 19)))
End If
End If
Next
MyData.Copy MyTarget
End Sub
m
0
l
Contenus similaires
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS