Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copie de ligne d'une feuille vers une autre

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

P

Phil76

Guest
Je sèche.
Dans une feuille, je trie pour pouvoir connaitre le nombre de fois que sort une alarme.
Si cette alarme est superieure à une valeur x je dois copier les informations de cette alarme dans une autre feuille,
et poursuivre le traitement jusqu'à la fin.
Tout est dans la piéce jointe.
D'avance merci
 

Pièces jointes

Re : Copie de ligne d'une feuille vers une autre

Bonsoir Phil76,

Tu voudrais recopier les sous-totaux (intitulés et valeurs) qui sont supérieurs à 30, dans la feuil2?
Si c'est bien ça, un exemple contenant des sous-totaux supérieurs à 29 aurait été plus adapté 😛 ... Bref, si c'est donc ce que tu veux faire, les sous-totaux figurent en regard des seules cellules vides en colonne A. Le code suivant devrait donc fonctionner:

VB:
Sub PlusDeTrente()
Application.ScreenUpdating = False
Sheets("Feuil2").Range("A1:C65000").ClearContents
With Sheets("Feuil1")
    derligne = .Range("B" & Rows.Count).End(xlUp).Row
    For Each c In .Range("A1:A" & derligne - 1).SpecialCells(xlCellTypeBlanks)
        If c.Offset(0, 2) >= 30 Then
            c.Offset(0, 1).Resize(1, 2).Copy
            Sheets("Feuil2").Range("A65000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
        End If
    Next c
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
 
Re : Copie de ligne d'une feuille vers une autre

Merci Modeste.
J'ai osé mettre dans mon profit que je n'étais pas un débutant, mais je vais revoir mon jugement.
Merci à toi pour le dépannage.
Je cherche toujours un bon livre pour apprendre. Peux tu m'aider aussi de ce coté la ?
Et si je veux copier la ligne au dessus en meme temps, je fais comment ?
 
Re : Copie de ligne d'une feuille vers une autre

Bonjour Phil76,

Pour ce qui est d'un ouvrage de référence, je ne puis que t'inviter à faire une recherche sur "livre Vba" sur notre petit forum préféré ... les résultats te permettront de constater la variété des avis exprimés (et tu n'auras que l'embarras du choix 😉)

Si j'ai bien compris (mais je ne sais pas trop pourquoi tu recopierais la ligne qui précède les sous-totaux 😕), voilà comment je modifierais ... attention il n'y a pas que l'instruction la plus évidente qu'il faut modifier (celle qui fait la copie): il y a une modification aussi en ligne 3 et 2 en ligne 9
VB:
Sub PlusDeTrente()
Application.ScreenUpdating = False
Sheets("Feuil2").Range("A1:F65000").ClearContents
With Sheets("Feuil1")
    derligne = .Range("B" & Rows.Count).End(xlUp).Row
    For Each c In .Range("A1:A" & derligne - 1).SpecialCells(xlCellTypeBlanks)
        If c.Offset(0, 2) >= 30 Then
            c.Offset(-1, 0).Resize(2, 6).Copy
            Sheets("Feuil2").Range("B65000").End(xlUp).Offset(1, -1).PasteSpecial Paste:=xlPasteValues
        End If
    Next c
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
 
Re : Copie de ligne d'une feuille vers une autre

Encore merci pour ton aide.
J'ai déjà fait un saut dans la recherche que tu m'as indiquée, effectivement il y a le choix.
Merci encore. de toute facon, j'aurais encore besoin d'aide car plus j'avance et plus je complique. Alors forcement!!!
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…