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

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
 

vbacrumble

XLDnaute Accro
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:

etoc

XLDnaute Nouveau
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
 

Discussions similaires

Statistiques des forums

Discussions
312 360
Messages
2 087 598
Membres
103 604
dernier inscrit
CAROETALEX59