Aide macro pour faire passer une ligne a une autre feuille.

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 !

SaintCyr

XLDnaute Nouveau
Bonjour à tous.


Depuis hier je traine sur votre forum et sur internet, afin de pouvoir faire ma macro, mais malheureusement après plusieurs tentatives, c'est un echec. Je me tourne donc vers vous pour éclairer ma lanterne. 🙂


Donc voici mon problème : Dans mon fichier, quand on met un X dans la colonne "finit" je voudrai que la ligne soit copié, puis collé dans l'autre feuille. Puis supprimé de la première feuille. Ou du moins caché.


Je vous met en PJ le fichier et mon début de macro... Etant très très novice en la matière....


'
' MacroArchive Macro
'

'Sub Archivage'()
Dim I As Long, Plage As Range, Ligne As Long
On Error Resume Next
Ligne = Sheets("missions fini").Cells.Find("*", , xlValues, , xlByRows, xlPrevious).Row
If Err.Number > 0 Then Ligne = 0
On Error GoTo 0
With Sheets("consigne")
For I = 1 To .Cells.Find("*", , xlValues, , xlByRows, xlPrevious).Row
If Application.CountIf(.Rows(I), 4) > 0 Then
Ligne = Ligne + 1
.Rows(I).Copy Sheets("missions fini").Cells(Ligne, 1)
End If
Next I
End With
End Sub


Merci d'avance.

Bien cordialement.
 

Pièces jointes

Re : Aide macro pour faire passer une ligne a une autre feuille.

Bonjour,

a adapter et tester
Code:
Sub Test_ligne()
Dim cell As Range
Sheets("Feuil1").Select
Application.ScreenUpdating = False
For Each cell In Sheets("Feuil1").Range("h4:h" & Sheets("Feuil1").Range("h65536").End(xlUp).Row)
If cell.Value = "X" Then
cell.EntireRow.Cut Destination:=Sheets("Feuil3").Cells(Sheets("Feuil3").Range("A65536").End(xlUp).Row + 1, 1)
End If
Next
Application.ScreenUpdating = True
End Sub

A+
Boris
 
Re : Aide macro pour faire passer une ligne a une autre feuille.

Bonjour,

a adapter et tester
Code:
Sub Test_ligne()
Dim cell As Range
Sheets("Feuil1").Select
Application.ScreenUpdating = False
For Each cell In Sheets("Feuil1").Range("h4:h" & Sheets("Feuil1").Range("h65536").End(xlUp).Row)
If cell.Value = "X" Then
cell.EntireRow.Cut Destination:=Sheets("Feuil3").Cells(Sheets("Feuil3").Range("A65536").End(xlUp).Row + 1, 1)
End If
Next
Application.ScreenUpdating = True
End Sub

A+
Boris

Bonjour Boris!

Après avoir adapté, malheureusement rien de concret se passe, sûrement un problème de ma part.

Voici ce que j'ai mi :

Sub Test_ligne()
Dim cell As Range
Sheets("Consigne").Select
Application.ScreenUpdating = False
For Each cell In Sheets("consigne").Range("h4:h" & Sheets("consigne").Range("h65536").End(xlUp).Row)
If cell.Value = "X" Then
cell.EntireRow.Cut Destination:=Sheets("mission fini").Cells(Sheets("mission fini").Range("A65536").End(xlUp).Row + 1, 1)
End If
Next
Application.ScreenUpdating = True
End Sub

Que faire?

En tout cas je te remercie du temps que tu m'as gentiement accordé.


Bien cordialement.
 
- 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
5
Affichages
236
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
10
Affichages
281
Réponses
5
Affichages
232
Réponses
4
Affichages
177
Réponses
4
Affichages
461
Réponses
7
Affichages
163
Retour