Copier d'une feuille à une autre si colonne vide

]Bonjour à tous,

Dans mon fichier, la feuille Installation 2014 contient habituellement une centaine de lignes. J'aimerais que lorsque la colonne Commande interne est vide ma ligne sois recopier sur la feuille 2. Le traitement des lignes doit partir en dessous de la ligne "Contrats prêts à cédulés". Les lignes au dessus de cette ligne ne m'intéressent pas.

Il faudrait aussi que les lignes sur ma feuille 2 se mettent à jour car l'information change souvent sur la feuille Installation 2014.

J'ai fais des essais avec une macro trouvé sur le net, mais sans succès. Si quelqu'un peut m'aider, ça serait très apprécié.

Merci

Bonjour

Pour ce qui est du report des lignes dont la colonne U est vide

Code Module

Sub Transfert()
Dim Cel As Range, i As Integer, j As Integer
For Each Cel In Range("a12", Range("a12").End(xlDown)).Offset(0, 20)
i = Cel.Row
 j = Sheets("Feuil2").[A65000].End(xlUp).Row + 1
If Cel = Empty Then Range("A" & i, Range("A" & i).Offset(0, 20)).Copy Sheets("Feuil2").Range("A" & j)
Next Cel
End Sub

Pour la seconde opération, il manque l'indication de l'événement déclencheur de la mise à jour.

Cordialement

Pour la seconde opération c'est que j,aimerais que la feuille2 s'efface à chaque fois avant le transfert parce que les informations de la feuille Installation 2014 change constamment.

Merci beaucoup pour la partie que tu as faites ça fonctionne à merveille.


Je viens de faire des tests et si je rajoute des lignes sur ma feuille Installation 2014 elle ne se transfert pas sur la feuil2

Bonjour

Sub Transfert()
Application.ScreenUpdating = False
Sheets("Feuil2").Activate
Range("a4", Range("a4").End(xlDown)).EntireRow.Clear
Dim Cel As Range, i As Integer, j As Integer
Sheets("Installation 2014").Activate
For Each Cel In Range("a12", Range("a12").End(xlDown)).Offset(0, 20)
i = Cel.Row
 j = Sheets("Feuil2").[A65000].End(xlUp).Row + 1
If Cel = Empty Then Range("A" & i, Range("A" & i).Offset(0, 20)).Copy Sheets("Feuil2").Range("A" & j)
Next Cel
End Sub

Les lignes se reportent lorsque la colonne A est renseignée (Normal: Nom du client)

Cordialement

Est-ce qu'il y a un moyen pour que ma ligne de départ ne soit pas toujours la ligne 12. Parce que une fois que mes commandes sont terminées, les lignes vont aller au-dessus de la ligne CONTRAT PRET A ETRE CEDULES , donc ma ligne de référence ne restera pas la ligne 12.

Bonjour

Sub Transfert()
Application.ScreenUpdating = False
Sheets("Feuil2").Activate
Range("a4", Range("a4").End(xlDown)).EntireRow.Clear
Dim Cel As Range, h As Integer, i As Integer, j As Integer
Sheets("Installation 2014").Activate
h = Application.WorksheetFunction.Match("*" & "CÉDULÉS" & "*", Sheets("Installation 2014").Range("$A:$A"), 0) + 2
For Each Cel In Range("a" & h, Range("a" & h).End(xlDown)).Offset(0, 20)
i = Cel.Row
 j = Sheets("Feuil2").[A65000].End(xlUp).Row + 1
If Cel = Empty Then Range("A" & i, Range("A" & i).Offset(0, 20)).Copy Sheets("Feuil2").Range("A" & j)
Next Cel
End Sub

Cordialemùent

Désolé pour le délai, je n,avais pas eu le temps de tester la dernière macro.

J'ai une erreur sur cette ligne :

h = Application.WorksheetFunction.Match("*" & "CÉDULÉS" & "*", Sheets("Installation 2014").Range("$A:$A"), 0) + 2

Erreur d'exécution 1004 : Impossible de lire la propriété Match dela classe WorksheetFunction

Rechercher des sujets similaires à "copier feuille colonne vide"