copier une ligne en selectionnant les colonnes et sans mise en forme

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

etoc

XLDnaute Nouveau
Bonjour,

Je cherche à copier une ligne en vba, vers un autre onglet, ce que j'ai réussi à faire...
Maintenant, j'aimerai enlever les colonnes A B C lors de la copie, et surtout, ne copier que le contenu et pas la mise en forme...est-ce possible ?

quelqu'un pourrait me guider, par rapport à ce que j'ai déjà ? parce que j'ai déjà fait pas mal d'essai, et je m'en sors pas 🙁

Code:
Sub macroEdition()

Dim Rw As Range
Dim ligne As Long
Dim numDefaut As Variant

' boite defaut
numDefaut = "A" 

Sheets("Plan d'action").Select 'Sélectionne l'ensemble des données
ActiveCell.SpecialCells(xlLastCell).Select
Range(Selection, Cells(1)).Select

ligne = 20
For Each Rw In Selection.Rows ' Boucle Test
    If Rw.Cells(1, 1).Value = numDefaut Then

            Rw.EntireRow.Copy Destination:=Worksheets("resultat").Cells(ligne, 1)

            
            ligne = ligne + 1

        End If
Next Rw
End Sub

Merci d'avance,

Cordialement,
tom
 
Re : copier une ligne en selectionnant les colonnes et sans mise en forme

Bonour tous


Peux-tu essayer le code VBA ci-dessous, stp ,



Code:
Sub macroEdition()
Dim Rw As Range
Dim ligne As Long
Dim numDefaut As Variant
' boite defaut
numDefaut = "A"
With Sheets(1).UsedRange
    ligne = 20
    For Each Rw In .Rows ' Boucle Test
    If Rw.Cells(1, 1).Value = numDefaut Then
    Worksheets(2).Cells(ligne, 1).Resize(, 10).Value = Rw.Offset(, 4).Resize(, 10).Value
    ligne = ligne + 1
    End If
    Next Rw
End With
End Sub

A+
 
Dernière édition:
Re : copier une ligne en selectionnant les colonnes et sans mise en forme

Salut!

excellent! je te remerci, ca fonctionne nikel 🙂

donc je vous embete encore un peu, avec ca, est-ce qu'il est possible de faire une boucle entre "A" et "R" pour traiter au chargement les 18 types ?
Mais sachant que si la feuille "AFFICHAGE DEFAUT + lettre" n'existe pas, ne rien faire et arreter le traitement à la premiere qui n'existe pas ?

En fait je connais très peu VB, mais mes bases en perl et php/sql m'aident un chti peu à comprendre... tout doucement 😉

Code:
Sub macroEdition()
Dim Rw As Range
Dim ligne As Long
Dim numDefaut As Variant
' boite defaut
numDefaut = "A"
With Sheets("Plan d'action").UsedRange
    ligne = 20
    For Each Rw In .Rows ' Boucle Test
    If Rw.Cells(1, 1).Value = numDefaut Then
    Sheets("AFFICHAGE DEFAUT " + numDefaut).Cells(ligne, 10).Resize(, 10).Value = Rw.Offset(, 3).Resize(, 10).Value
    ligne = ligne + 1
    End If
    Next Rw
End With
End Sub

en tout les cas, c'est génial et super sympa de m'avoir donné ce coup de main, je galerais depuis un petit moment dessus!

cordialement,
tom
 
- 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
2
Affichages
1 K
Retour