VBA Copier - coller sous condition et déplacé des données. [resolue]

oceanex

XLDnaute Nouveau
Bonjour à tous

Pour commencer, merci à tous ceux qui prennent de leur temps pour aider tous et chacun.
Je suis très débutante en VBA et je dois créer une macro. Je recherche sur Google depuis quelques jours mais tout ce que j'essaie galère fort... :(

J'ai un fichier Excel avec toutes mes données.

suc #client nom DATE1
401 225950 client 1 41813
402 115930 client 2 41113
402 115930 client 2 41013

Je dois copier les lignes qui commencent par 401 dans la feuille 401, les 402 sur feuille 402, etc.
Les feuilles sont déjà créer et ce nomme 401 etc.

J'aurais besoin d'aide pour démarrer, comment me conseillerez-vous de faire ?

Est-ce que je serais mieux de faire un tri en premier pour avoir tous les champs "suc" classer et ensuite faire un copier - coller par range ?
J'ai fait des copier-coller par range prédéfini, mais j'ai un petit "bug" a trouvé comment lui dire dans ce cas, puisque le range est variable. (Je dois surement utilisé une variable)

C’est vraiment plus une question de compréhension de ma part.
Votre aide est très apprécié.

Merci et bonne journée :)
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : VBA Copier - coller sous condition et déplacé des données.

Bonjour,

Est-ce que je serais mieux de faire un tri en premier pour avoir tous les champs "suc" classer et ensuite faire un copier - coller par range ?
J'ai fait des copier-coller par range prédéfini, mais j'ai un petit "bug" a trouvé comment lui dire dans ce cas, puisque le range est variable. (Je dois surement utilisé une variable)

oui tu peux faire un tri et ensuite par l'utilisation du filtre automatique, faire tes copier coller.... l'enregistreur de macro devrait te donner un premier code qu'il restera à optimiser....

bon après midi
@+
 

Pierrot93

XLDnaute Barbatruc
Re : VBA Copier - coller sous condition et déplacé des données.

Re,

regarde ceci, un filtre auto présent sur la feuille active et un filtre activé...

Code:
Dim p As Range
Set p = Range("_FilterDatabase")
If WorksheetFunction.Subtotal(3, p.Offset(1).Resize(p.Rows.Count - 1, 1)) > 0 Then
    p.Offset(1).Resize(p.Rows.Count - 1).Copy Sheets("Feuil2").Range("A1")
End If

A noter, ne copie pas la ligne de titre....
 

Discussions similaires

Réponses
6
Affichages
410

Statistiques des forums

Discussions
312 294
Messages
2 086 934
Membres
103 404
dernier inscrit
sultan87