VBA Copier coller si valeur cellule

Bonjour à tous,

J’ai un soucis avec un fichier….

J’aimerais créer une VBA qui me copie colle les données qui sont présentes dans la partie droite de mon tableau « Véhicule à mettre en coupure » dans le tableau « Véhicules immobilisés » tous les jours lorsqu’il est 9h30 et qu’une fois toutes les données dans la partie véhicules immobilisés il me les range de la date d’immobilisation la plus ancienne vers la plus récente.

Pas de soucis pour coder l’heure à laquelle je veux qu’il exécute la macro et les ranger dans l’ordre croissant de date.
En revanche le code que j’utilise pour qu’il copie colle des donnée dynamique ne fonctionne pas.
J’ai utilisé ce code :

Range(« A35 »).CurrentRegion.Copy Range(« A4 »)

Est ce quelqu’un pourrait m’aider ?

Merci d’avanceCopier coller.xlsm (43,0 Ko)

Bonjour
Ton souci vient de la manière dont tu dispose tes 2 séries de données à partir de la ligne 35
Une partie est ramené à partir de cette ligne et les lignes au dessous l’autre partie est ramené à partir d’une ligne bien plus bas laissant entre les 2 séries de données des lignes vide
L’instruction CurrentRegion fonctionne sur une série de ligne après la ligne à entête non séparé de lignes intégralement vides
J’ai modifié ton script de la macro6 pour éviter cet écueil et cela fonctionne
Fais des essais et dis moi

Copier coller.xlsm (41,9 Ko)

Super !!!

Merci FFO tu gères !

re,

j’ai essayé de copier la macro dans le « vrai fichier » mais malheureusement ça ne fonctionne plus pourtant j’ai bien remplacé le nom des cellules de destination….
Est ce qu’il te serait possible de me refaire la macro ?
Je t’envoie le vrai fichier ci joint.

Par contre serait il possible de faire le copier coller des deux tableau à la 200 ?

Merci d’avanceSuivi Dispo - Copie.xlsm (209,3 Ko)

Ci-joint ton fichier avec la macro Copier_Coller_MAJ adapté
Fais des essais et dis moi

Suivi Dispo - Copie.xlsm (205,9 Ko)

Oui super cela fonctionne nickel…
J’ai eu des bogs en faisant les manips avec la ligne ActiveSheet.Paste. Du coup j’ai fermé sans enregistré puis réouvert, c’est reparti.
Pour aller au bout du bout de ce que je voulais j’ai rajouté à ta macro un « mise à blanc » :
Worksheets(« Immobilisations KV »).Range(« A199:K310 »).FillDown
Worksheets(« Immobilisations KV »).Range(« O15:Y43 »).FillUp

’ Copier_Coller_MAJ Macro

Range(« C15:M » & Range(« C65535 »).End(xlUp).Row).Select
Selection.Copy
Range(« A200 »).Select
ActiveSheet.Paste
Range(« O15:Y » & Range(« O65535 »).End(xlUp).Row).Select
Application.CutCopyMode = False
Selection.Copy
Range(« A65535 »).End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Range(« A200:G200 »).Select
Application.CutCopyMode = False
Selection.AutoFilter
ActiveSheet.Range("$A$200:$G$200").AutoFilter Field:=2, Criteria1:=Array( _
« MIDI 2P », « MINI 2P », « STD 2P », « STD 3P »), Operator:=xlFilterValues
Range(« A200 »).CurrentRegion.Copy Range(« C15 »)
Range(« A199:L199 »).Select
Selection.FillDown
Range(« O44:Y44 »).Select
Selection.FillUp
Worksheets(« Immobilisations KV »).Range(« A199:K310 »).FillDown
Worksheets(« Immobilisations KV »).Range(« O15:Y43 »).FillUp

La feuille sur laquelle tu as fait la macro s’appelle immobilisations KV. Je voudrais faire la même sur la feuille « Immobilisations K78 ».
Comment pourrais faire ? Pi : la feuille est strictement la même.

Merci encore à toi FFO

Bonjour
J’ai utilisé la même macro en apportant les modifications suivantes :
Onglet « Immobilisations K78 » déplacement du petit tableau qui alimente le camenbert avec mise à jour de ses données cibles en correspondance et ce pour libérer la colonne C réservée pour cibler la dernière ligne du tableau « Véhicules Immobilisés »
Attention donc de ne pas occuper cette colonne pour ces 2 onglets à traiter il en va du résultat du traitement
Adaptation des nouvelles lignes de code rajoutée :
Range(« A199:L199 »).Select
Selection.FillDown
Range(« O44:Y44 »).Select
Selection.FillUp
Worksheets(« Immobilisations KV »).Range(« A199:K310 »).FillDown
Worksheets(« Immobilisations KV »).Range(« O15:Y43 »).FillUp

Ainsi tenant compte de l’onglet traité :
Range(« A199:L199 »).Select
Selection.FillDown
If ActiveSheet.Name = « Immobilisations KV » Then
Range(« O44:Y44 »).Select
End If
If ActiveSheet.Name = « Immobilisations K78 » Then
Range(« O39:Y39 »).Select
End If
Selection.FillUp
ActiveSheet.Range(« A199:K310 »).FillDown
If ActiveSheet.Name = « Immobilisations KV » Then
Worksheets(« Immobilisations KV »).Range(« O15:Y43 »).FillUp
End If
If ActiveSheet.Name = « Immobilisations K78 » Then
Worksheets(« Immobilisations K78 »).Range(« O15:Y38 »).FillUp
End If

Dans l’onglet « Immobilisations K78 » colonne « info » pour les 2 parties "Véhicules Immobilisés " et « Véhicules à mettre en coupure » j’ai supprimé la fusion des cellules qui empêche un bon résultat concernant le traitement « mise à blanc » de tes dernières lignes rajoutées

Je pense donc avec toutes ces mises à niveau la seule macro fonctionne pour les 2 onglets

Fais des essais et dis moi

Suivi Dispo - Copie.xlsm (205,7 Ko)

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.