Besoin de votre aide: Macro copier / coller conditionnelle

  • Initiateur de la discussion Initiateur de la discussion corate92
  • 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 !

C

corate92

Guest
Bonjour le forum

ma demande est fort simple pour vous experts j'en suis sure 🙂

Mais un chouia compliqué pour mon cerveau de non initiée VBA,

alors je cherche une macro qui me permet en fonction du résultat de la cellule de la colonne s, copie la ligne tout entière, se positionne sur la feuille2 et colle cette ligne à la suite du tableau (donc dès la 1ere ligne dispo et vide)

j'ai "pondu" cela:

Sub tran_ENDEVELOPEMT()
'
'
Dim lig
Dim ligne
lig = 16
For lig = 16 To 20
If Cells(lig, 19) = "Yes" Then
Selection.Copy
Sheets("feuille2").Select
ligne = Sheets("feuille2").Range("A3").End(xlDown).Row + 1
ActiveSheet.Paste
End If
Next lig

End Sub


mais fonctionne pas 😱

Merci à tous meme si vous n'avez pas de solutions pour moi!

Cora
 
Dernière modification par un modérateur:
Re : Besoin de votre aide: Macro copier / coller conditionnelle

Salut,

Essais comme ceci :
Code:
Sub tran_ENDEVELOPEMT()
Dim lig As Integer
For lig = 16 To 20
    If Cells(lig, 19) = "Yes" Then
        Rows(lig).Copy Destination:=Sheets("feuille2").Rows(Sheets("feuille2").Range("A3").End(xlDown).Row + 1)
    End If
Next lig
End Sub

@+
 
Re : Besoin de votre aide: Macro copier / coller conditionnelle

Hello Romain / Porcinet

Merci de t'intéresser à ce cas...
Cela ne fonctionne pas... il a bogue "erreur définie par application ou objet" cette partie là: Rows(lig).Copy Destination:=Sheets("feuille2").Rows(Sheets("feuille2").Range("A3").End(xlDown).Row + 1)

????
 
Re : Besoin de votre aide: Macro copier / coller conditionnelle

re,

Mouai, moi aussi il a bugué sur cette ligne, mais je pense que ca vien du Sheets("feuille2").Range("A3").End(xlDown).Row + 1
Car si tu n'as pas de données en dessous de A3, il descend a la ligne 65536 et +1 ca merdouille...
Donc, mets plutot Sheets("feuille2").Range("A65536").End(xlUp).Row + 1 avec a la limite un If pour l'encadré si tu veux vérifié que la ligne en question soit au moins 3.

@+
 
Re : Besoin de votre aide: Macro copier / coller conditionnelle

Explications tout de même

La propriété ROW renvoie un numéro de ligne alors que le paramètre Destination de la méthode Copy demande un objet Range.

La methode offset(1) décale d'une ligne

Voili🙂
 
Re : Besoin de votre aide: Macro copier / coller conditionnelle

re,

Oula bhbh, je crois qu'apres jeanpierre, c'est a ton tour d'aller faire une sieste !!!! Je ne fais pas la copie a partir de la colonne 3 !!! 😛
D'ailleurs, voici la preuve que mon code fonctionne (en PJ).

@+
 

Pièces jointes

- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
754
Réponses
2
Affichages
466
Réponses
2
Affichages
589
Réponses
1
Affichages
575
Retour