Question vba excel urgente

Résolu/Fermé
Marc - 6 juin 2012 à 12:45
 Marc - 6 juin 2012 à 16:52
Bonjour,
je veux faire une recopie des données de la feuille BASE vers la feuille SOUS_TOTAUX (titres de colonnes inclus) mais en ne prenant pas en compte les lignes de CA <=100 (colonne D) svp aidez moi ça me facilitera mon travail enormement.
j'ai essayé mais je n'arrive pas à recopier que la première ligne

A voir également:

3 réponses

drumjoel Messages postés 52 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 8 septembre 2014 2
6 juin 2012 à 13:46
bonjour,
il me semble que c'est un truc dans le genre
 Sub Macro1()
'
' Macro1 Macro
'
Worksheets(BASE).Activate
Worksheets(BASE).Cells.Select
Selection.Copy
Worksheets(SOUS_TOTAUX).Activate
Worksheets(SOUS_TOTAUX).Cells.Select
Worksheets(SOUS_TOTAUX).Paste
Worksheets(SOUS_TOTAUX).Range("d1", "d100").Select
Selection.Clear
'
End Sub
0
ccm81 Messages postés 10855 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 avril 2024 2 404
6 juin 2012 à 15:36
bonjour

une proposition ne recopiant que les lignes où la colonne CA > 100

Option Explicit

Const FB = "BASE"
Const lidebB = 1
Const coCAB = 3     ' colonne CA
Const FS = "SOUS_TOTAUX"

Public Sub transfert()
Dim liB As Long, lifinB As Long
Dim liS As Long
lifinB = Sheets(FB).Cells(Rows.Count, 1).End(xlUp).Row
Sheets(FB).Cells(lidebB, 1).EntireRow.Copy Sheets(FS).Cells(1, 1)
liS = 2
For liB = lidebB + 1 To lifinB
  If Sheets(FB).Cells(liB, coCAB).Value > 100 Then
    Sheets(FB).Cells(liB, 1).EntireRow.Copy Sheets(FS).Cells(liS, 1)
    liS = liS + 1
  End If
Next liB
End Sub

bonne suite
0
merci ça marche tres bien!!!
0
ccm81 Messages postés 10855 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 avril 2024 2 404
6 juin 2012 à 15:54
de rien,

peux tu mettre le problème à résolu (en haut de ton 1° message)

bon après midi
0
pouvez vous juste m'expliquez la ligne
lifinB = Sheets(FB).Cells(Rows.Count, 1).End(xlUp).Row
Sheets(FB).Cells(lidebB, 1).EntireRow.Copy Sheets(FS).Cells(1, 1)
0
ccm81 Messages postés 10855 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 avril 2024 2 404
6 juin 2012 à 16:22
1.
lifinB = Sheets(FB).Cells(Rows.Count, 1).End(xlUp).Row
récupère dans lifinB le numéro de la dernière ligne non vide colonne 1, de la feuille FB

2.
Sheets(FB).Cells(lidebB, 1).EntireRow.Copy Sheets(FS).Cells(1, 1)
copie toute la ligne lidebB (soit ligne 1) de la feuille FB dans la feuille FS à parir de la cellule A1

bonne suite
0
merci encore!!! :D
0