Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

apostrophe devant DATE à éliminer lors d'une action "transfert"

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

CAPRI_456

XLDnaute Occasionnel
Bonsoir le Forum, Skoobi,


Voilà mon problème .J'ai devant une date un apostrophe qui provient d'un autre fichier (méthode ADO sur fichier fermés) . Donc il est là dans le présent fichier joint (onglet KRE02).

Lors d'un clic sur bouton en vert dans ADMIN, il envoie les dates de l'onglet KRE02 simultanément dans deux zones (onglet P5 + onglet ADMIN) .

Helàs, dans ADMIN, il m'est impossible de procéder à une comparaison de plages en vue d'entourer de cerlces (shapes) les dates, car à cause de l'APOSTROPHE, les dates sont considérées comme du texte.

j'ai donc touvé sur le forum une approche....pour éliminer l'apostrophe dans les deux onglets.
J'ai placé le code dans le module 1, ........ IL DOIT Y MANQUER qq chose...... , car rien n'y fait
-faut il placer ce bout de code dans le module ou dans chaque feuille (avec définition du Range concerné ???

Merci pour votre aide
CAPRI_456

Merci pour votre aide
 

Pièces jointes

Re : apostrophe devant DATE à éliminer lors d'une action "transfert"

Bonsoir
tu peux peut être faire comme cela:
tu met la valeur 1 dans une cellule
copier,
collage special sur tes cellules avec l'apostrophe,
choisir multiplication.

edit bonsoir skoobi et bhbh
 
Dernière édition:
Re : apostrophe devant DATE à éliminer lors d'une action "transfert"

Bonsoir,

je te propose de le faire avant la copie, dans la feuille "KRE02":

Code:
Sub SupprimeApostrophe()

Sheets[COLOR=Blue]("[B]KRE02[/B]").[/COLOR]Activate
    Dim cel As Range
    For Each cel In Range("A1:" & Range("A1").SpecialCells(xlCellTypeLastCell).Address)
        [COLOR=Blue][B]cel.Value = Replace(cel.Value, "'", "")
        cel.NumberFormat = "dd/mm/yyyy"[/B][/COLOR]
    Next
End Sub

Edit: bonsoir Bruno
 
Re : apostrophe devant DATE à éliminer lors d'une action "transfert"

Bonsoir capri, bruno, skoobi

skoobi, une autre variante à ton code :


Code:
Sub degage_apostrophe()
With Sheets("KRE02")
    For i = 2 To .[A65000].End(xlUp).Row
        .Cells(i, 1).Value = CDate(.Cells(i, 1).Value)
    Next
End With
End Sub
 
Re : apostrophe devant DATE à éliminer lors d'une action "transfert"

MERCI CB60,
mais je voudrais que cela se passe automatiquement, car mon fichier et mes onglets sont crées automatiquement (via méthode ADO) et le présent fichier est fermé lors de cette création.

Bonjour Skoobi,
Oui, idéalement cela serait préférable avant la copie....
j'ai testé le code dans la feuille KRE02 mais rien n'y fait... je dois louper quelque chose pour que le code démarre ?
Dautrepart, il y aura un souci en travaillant dans la feuille KRE02, car chaque mois une feuille s'ajoutera...KRE03,KRE04...etc et donc il faut alors créer le code pour chacune des feuille.
Ne pourrait-on pas programmer cette action dans un module agissant sur toutes les feuilles dont le nom débute par KRE (soit toujours les 3 premières initiales du fichier ) puis 01,02,03,etc jusque 12 pour les mois ...

Merci.
 
Re : apostrophe devant DATE à éliminer lors d'une action "transfert"

Re,

Bonsoir bhbh 🙂,

et pour que le format soit uniforme partout:

Code:
Sub degage_apostrophe()
With Sheets("KRE02")
    For i = 2 To .[A65000].End(xlUp).Row
        .Cells(i, 1).Value = CDate(.Cells(i, 1).Value)
[COLOR=Blue][B]        .Cells(i, 1).NumberFormat = "dd/mm/yyyy"[/B][/COLOR]
    Next
End With
End Sub
 
Re : apostrophe devant DATE à éliminer lors d'une action "transfert"

RE-,
le plus simple, je pense, serai que tu nous montre le code qui te sert à importer ces dates..
si tu as plusieurs requêtes à effectuer, et que tu crées plusieurs onglets, ce serait plus facile d'y insérer quelques lignes de codes plutôt que de travailler en aveugle...
 
Re : apostrophe devant DATE à éliminer lors d'une action "transfert"

suite
Tout compte fait ,
, ne puis-je pas éviter cela et obtenir les dates (SANS APOSTROPHE) au départ de mon transfert vers fichiers fermés (par la méthode ADO, aide pour mon Code "Bruno") sur le code suivant :

Ou faudra t'il alors intervenir pour que les DATES soient transférés vers fichiers fermés SANS APOSTROPHE ? sur "MEMO" ?????

Merci
 
Re : apostrophe devant DATE à éliminer lors d'une action "transfert"

Re,

chaque mois une feuille s'ajoutera...KRE03,KRE04...etc et donc il faut alors créer le code pour chacune des feuille
Non, ce n'est pas nécessaire, il suffit d'affecter la dernière feuille "KRE*" à une variable.
Ca donne pour la macro "transfert" (avec la date sans l'apostrophe 😉):

Code:
Sub Transfert()
Dim Tbl As Range
Dim lastws As Worksheet
Dim cel As Range

Application.ScreenUpdating = False

Set lastws = Worksheets(Worksheets.Count) '

'Effacement des anciennes données du tableau
Worksheets("ADMIN").Range("A1", "E32").ClearContents
With lastws
    For Each cel In .Range(.[A2], .[A2].End(xlDown))
        cel.Value = CDate(cel.Value)
        cel.NumberFormat = "dd/mm/yyyy"
    Next
End With
lastws.Range("A2", "E33").Copy
Worksheets("ADMIN").Range("A1").Select
ActiveSheet.Paste

Application.ScreenUpdating = False

Worksheets("P5").Range("Z2", "AD33").ClearContents
lastws.Range("A2", "E33").Copy
Worksheets("P5").Activate
Range("Z2").Select
ActiveSheet.Paste

End Sub
Voilà 🙂
 
Dernière édition:
Re : apostrophe devant DATE à éliminer lors d'une action "transfert"

Cb60,bhbh,
Skoobi, Merci,

Enfin cet apostrophe est éliminé....Merci pour toutes vos contributions..

A Skoobi: tu avais réglé mon problème de cercles (shapes) dans l'onglet P5.
Voici mon problème de dates réglé, mais je ne parviens plus à recréer les cercles.
décidément....

Autre souci: inutile d'utiliser les boutons "CLICK" et "R.A.Z." car je souhaiterai
que les cercles s'affichent directement sans passer par ces boutons ?

Merci, Je sais que là j'abuse.......

fichier annexé
 

Pièces jointes

Re : apostrophe devant DATE à éliminer lors d'une action "transfert"

Re bonjour,

Dans la feuille "P5" cellule K3, écris cette formule: =Z2

pour que les cercles se crés automatiquement, il suffit d'appeler la macro "InsereCercles" à la fin de la macro "Transfert" comme ceci:

Code:
Sub Transfert()
Dim Tbl As Range
Dim lastws As Worksheet
Dim cel As Range
Application.ScreenUpdating = False
Set lastws = Worksheets(Worksheets.Count) '
'Effacement des anciennes données du tableau
Worksheets("ADMIN").Range("A1", "E32").ClearContents
With lastws
    For Each cel In .Range(.[A2], .[A2].End(xlDown))
        cel.Value = CDate(cel.Value)
        cel.NumberFormat = "dd/mm/yyyy"
    Next
End With
lastws.Range("A2", "E33").Copy
Worksheets("ADMIN").Range("A1").Select
ActiveSheet.Paste
Application.ScreenUpdating = False
Worksheets("P5").Range("Z2", "AD33").ClearContents
lastws.Range("A2", "E33").Copy
Worksheets("P5").Activate
Range("Z2").Select
ActiveSheet.Paste
[B][COLOR=blue]InsereCercles[/COLOR][/B]
End Sub
 
Re : apostrophe devant DATE à éliminer lors d'une action "transfert"

Bonsoir le Forum , Skoobi , bhbh,

Merci pour cette aide précieuse, cela fonctionne parfaitement....
en plus, j'ai éliminé tous le code devenu inutile et accumulé lors des tests...


Dans ADMIN, j'applique la Macro Transfert qui est lancée au départ d'un bouton de commande? J'ai donc un bouton pour chacun des mois..
Mon code va donc gonfler puisque je dois répéter celui-ci pour chaque bouton, ou y a t'il une possibilité de regrouper ce code

De plus le code du bouton 1 que je viens de créer, n'agit pas sur l'onglet KRE01

Merci
CAPRI_456

fichier......
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

O
Réponses
4
Affichages
2 K
Olic78124
O
P
Réponses
0
Affichages
1 K
P
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…