Selectionner les valeurs date de la colonne A et les inserecoller a gauche

image

Bonjour à tous,

Je commence le VBA et je dois mettre en forme un tableau à partir de données exportées. J y arrive grosso modo (enlever les vides etc etc)mais pour la colonne A il faut que je copie les dates seulement puis les inserer à gauche. J'arrive à trouver la sélection des valeurs dates avec :

Sub Macro3()
Dim rng As Range
Range("A1:A7").Select
Selection.SpecialCells(xlCellTypeConstants, 2).Select
Copy Range("B23") [ca ne marche pas]
End Sub

Mais je n'arrive pas à lui faire copier la selection (ici j'essaie en B23 *sans le souci d'inserer).J'ai essayé avec une boucle qui sais reconnaitre les dates et unn debug.print (ca fonctionne il reconnait bien ) mais je n'arrive pas à me servir de IsDate avec if (if rng IsDate Then ????) J'ai encore du mal à comprendre toute la syntaxe VBA.

Je vous remercie pour votre aide car je suis à un cheveux d'avoir réussi à mettre en forme le vrac de données !

* ci dessus un résumé de mon tableau

Bonjour,

Si tu veux avancer un peu plus rapidement, je te conseille d'oublier provisoirement le bouton pour insérer des images. En revanche il y en a un qui est bien pratique pour coller du code c'est le bouton </> : Il suffit de cliquer dessus et coller le code voulu te valider.

En l'occurence pour le moment, ce qui serait le plus utile c'est d'envoyer directement ton classeur comme ça on pourrait voir exactement ou se situe le problème parce que les explications ça ne remplace pas un bon fichier. Surtout quand on débute et qu'on mélange un peu tout et n'importe quoi !

En général en VBA on évite de sélectionner quoi que ce soit.

Pour reprendre un peu ta suggestion je mettrai :

Sub test()
Dim i%
For i = 1 To 7
If IsDate(Cells(i, 1).Value) Then Cells(i, 2).Value = Cells(i, 1).Value
Next
End Sub

A+

10test.xlsm (20.65 Ko)

Merciiii Galopin,

C est effectivement mon souci de trouver les syntaxes qui evitent des selections ! Et ta reponse m'aide beaucoup. J'ai rebricolé le fichier car en fait il fallait que ça colle (non pas les dates)mais les textes sur la gauche. J'ai donc inséré et j'ai mis un is no date.

Cette fois ci je mets le fichier entier avec un extrait simplifié de l'export de donnée que je récupère mais il fait en fait beaucoup plus de lignes !! (voir les onglets)

si tu as un truc pour boucher les blancs en dessous du texte ! j'y arrive en enregistrant la macro de atteindre cellule vide et faire copier la valeur du dessus mais là encore c'est à partir de selection!

*Tu dois quand même être balaise car je me demandais ce que c'était le % du dim .(je ne savais pas ce que c'était) et en cherchant c'est un raccourci de integer *

A+

et merci encore

Sub test2()
Dim i%
Columns(1).Insert
For i = 1 To 13
If Not IsDate(Cells(i, 2).Value) Then Cells(i, 1).Value = Cells(i, 2).Value
Next

End Sub

Bonsoir,

C'était un peu plus compliqué car :

Pour que ça marche bien il faut que les dates soient des dates VALIDES (Pas du genre 31 Juin ou 30 Février !

Pour supprimer des lignes il faut partir de la dernière...

A+

10testvg.xlsm (18.29 Ko)

Bonsoir à tous,

Nous ne connaissons pas la version Excel utilisée. C'est toujours bien d'informer cela dans le profil ! Excel 2016, 365...

Pour ma part ça ne sera pas du VBA mais un autre langage : le M, utilisé au travers de PowerQuery si la version Excel utilisée est au moins = à 2016.

Tout se passe dans l'onglet données, requêtes et connexions. La liste des étapes appliquées sur le côté droit de l'écran.

Au changement de la source, un simple "actualiser" sur le tableau vert et c'est mis à jour.

4jujuquigalere.xlsm (30.10 Ko)

Super ca marche- par contre je ne sais pas trop me servir du M et de power query qui peut etre interessant aussi.(nouveau challenge en vue)

Et j'ai compris grosso modo les ubound lbound mais il va falloir que je cogite un peu et toujours la syntaxe que j'ai du mal à apprehender !

Thank you les gars

Rechercher des sujets similaires à "selectionner valeurs date colonne inserecoller gauche"