Macro de transfert Feuil1 => Feuil2

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

J

JJ1

Guest
Bonjour à tous,

Grace à votre aide, j'ai terminé mon tableau.
J'ai voulu faire un copier/valeurs en Feuil2 qui a pris......13 minutes (idem pour l'enregistrement).
Serait-il possible par code VBA de me transférer les colonnes A:F en Feuil2 si E=0 et s'il n'y a aucune couleur en ligne dans A😀
Merci de voir mon exemple.
Bon AM à tous.
 

Pièces jointes

Re : Macro de transfert Feuil1 => Feuil2

Bonjour PierreJean,
Je te remercie pour ton code.

Le test de la couleur peut être supprimé dans la macro car inutile maintenant (ça devrait alléger ! )

Je viens de le tester mais il copie aussi les formules (très gourmandes en calcul !) qui sont en E et F (en Feuil1) et donc il est sans cesse en mode recalcul car il calcule aussitôt aussi en Feuil2 avec les formules transférées.
Il faudrait copier en mode collage/valeurs A: F en feuille2 si c'est possible.

Merci encore à toi et bonne soirée
 
Dernière modification par un modérateur:
Re : Macro de transfert Feuil1 => Feuil2

Re

teste la macro suivante

Code:
Sub test()
Application.Calculation = xlCalculationManual
ligne = 1
tablo = Sheets("Feuil1").Range("A1:F" & Range("A" & Application.Rows.Count).End(xlUp).Row)
For n = LBound(tablo, 1) To UBound(tablo, 1)
  If tablo(n, 5) <> "" And tablo(n, 5) = 0 Then
    Sheets("feuil1").Range("A" & n & ":F" & n).Copy Destination:=Sheets("Feuil2").Cells(ligne, 1)
   ligne = ligne + 1
  End If
Next
For n = Sheets("Feuil2").Range("A" & Application.Rows.Count).End(xlUp).Row To 1 Step -1
 For m = 1 To 4
   If Sheets("Feuil2").Cells(n, m).Interior.ColorIndex <> -4142 Then Sheets("Feuil2").Rows(n).Delete
 Next m
Next n
Sheets("Feuil2").Select
Sheets("Feuil2").Range("A2:F" & Range("A" & Application.Rows.Count).End(xlUp).Row).Value = Sheets("Feuil2").Range("A2:F" & Range("A" & Application.Rows.Count).End(xlUp).Row).Value
Application.Calculation = xlCalculationAutomatic
End Sub
 
- 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
33
Affichages
3 K
Q
Réponses
10
Affichages
2 K
J
Réponses
3
Affichages
1 K
J
Retour