Dates

bonjour,

je dispose d'un tableau fichier client dans lequel j'ai 2 feuilles, une pour faire l'enregistrement d'un nouveau client et la 2eme qui est le tableau fichier client.

J'ai un souci, j'ai une colonne Date où il y a des dates entre septembre 2011 et mars 2012 pour le fichier client de la saison 2011/12

ce que je souhaiterai: c'est pouvoir faire prendre 1 an à toutes les dates situer dans cette colonne, pour créer le fichier client de la saison 2012/13 sans tout retaper.

merci par avance de votre futur aide

Bonjour,

Un exemple

Cdlt.

26date-lilou19.xlsx (9.51 Ko)

Bonjour jean éric,

Merci de ta réponse mais ce que je souhaiterais c'est pouvoir basculer les dates de la colonne G sans toutes les retaper (voir exemple fichier joint) car j'ai plus de 300 dates dans la colonne de mon fichier.

moi j'avais pensé créer une colonne a coté de celle existante pour changer la date sauf que quand je supprime la 1er colonne ben erreur à cause de la formule, est ce qu'il est possible de gardé le résultat d'une formule dans la cellule sans conservé la formule une fois le résultat donné?

20date-lilou192.zip (4.96 Ko)

bonjour

ou alors tu selectionnes la colonne des dates a moduler

menu edition>>>remplacer 2012 par: 2013 >>remplacer tout

cordialement

Re,

Ci-joint fichier

Ctrl + a pour lancer a macro

Cdlt.

Option Explicit
Public Sub ModifDates()

Dim derLigne As Integer
Dim i As Integer

    Application.ScreenUpdating = False
    derLigne = Range("G" & Rows.Count).End(xlUp).Row
    For i = 3 To derLigne
        Cells(i, 7) = DateAdd("m", 12, Cells(i, 7))
    Next i
End Sub
28date-lilou192.zip (10.33 Ko)

re,

désolé mais j'ai télèchargé ton fichier mais en faisant ctrl a il y a rien qui se passe je comprend pas pourquoi? et somme nous vraiment obligé de passer par le mode vba car je ne maitrise pas du tout vba.

encore merci pour ton aide.

Salut,

j'ai essayé la macro et elle fonctionne bien, par contre pas avec le Ctrl + a ce qui parrait normal car c'est un racourci pour sélectionner tout...

Va sur l'onglet "Developpeur" (s'il n'y ait pas va da option d'Excel pour afficher l'onglet) et clique sur macro, il n'y en a qu'une donc tu as plus qu'à cliquer sur "Executer"

Francky

ps : pour lancer une macro, y'a pas besoin de maitriser le VBA

Re,

Mes excuses pou l'oubli du Ctrl + a.

J'ai rectifié

De l'utilisation d'une macro ou de la solution proposée par Tulipe_4, tu choisis

Si tu optes pour la deuxième solution, veilles à remplacer en 1er. 2012 par 2013, puis 2011 par 2012.

Cdlt.

Pour la macro, explications de la procédure:

'On gèle l'affichage de l'écran pendant la procédure
    Application.ScreenUpdating = False
    'On recherche la dernière cellule non vide de la colonne "G"
    derLigne = Range("G" & Rows.Count).End(xlUp).Row
    'On boucle de la ligne 3 à la dernière ligne non vide de la colonne "G"
    For i = 3 To derLigne
        'On ajoute 12 mois à la date initiale
        Cells(i, 7) = DateAdd("m", 12, Cells(i, 7))
    Next i

re à vous trois,

pour Francky69100:

effectivement la macro marche bien mais j'essaye avec ctrl+a et ça sélectionné tout, maintenant j'ai appris comment lancer la macro.

Pour tulipe:

j'ai essayé ta méthode (car je suis nul en vba surement comme tout le monde au début ) mais je ne possède pas édition dans la barre menu j'ai néanmoins trouvé les "jumelle" dans fichier/recherche de fichiers/ et la recherche dans se document/ comparer .

tout va bien ça a marché je te remercie de ton aide

et pour Jean Éric:

je te remercie également!! mais vue que je baisse pas les bras si facilement j'aimerai bien faire fonctionné la macro!!et de ce fait mieux comprendre vba!!

Déjà avec tes commentaire j'ai compris la macro. Du coup j'ai copier ta première macro dans un module 2 du fichier vba (car en module 1 j'ai la macro pour la saisie d'enregistrement) et j'ai changer la colonne G par la colonne S (car mais dates son en S et commence toujours à la 3eme ligne) je sauvegarde et la je fais outil/macro/exécuté/ modifdates et là rien ne se passe. Je pige pas, il faut faire autre chose? ou le module 1 bloc tout?

encore merci à vous tous pour votre aide et votre temps.

Bonjour,

Dans ton nouveau classeur, tu dois avoir plusieurs feuilles de calcul. Modifies le code comme indiqué ci-dessous:

Option Explicit
Public Sub ModifDates()

Dim sH As Worksheet
Dim derLigne As Integer
Dim i As Integer
    'On gèle l'affichage de l'écran pendant la procédure
    Application.ScreenUpdating = False
    'Attribue une référence d'objet à la feuille "1"
    Set sH = Worksheets("Feuil1")
    'On recherche la dernière cellule non vide de la colonne "G" de la feuille "1"
    With sH
        derLigne = .Range("G" & Rows.Count).End(xlUp).Row
        MsgBox derLigne
        'On boucle de la ligne 3 à la dernière ligne non vide de la colonne "G"
        For i = 3 To derLigne
            'On ajoute 12 mois à la date initiale
           .Cells(i, 7) = DateAdd("m", 12, .Cells(i, 7))
        Next i
   End With
End Sub

re,

bon j'ai mis dans le module 2 ton programme, j'ai changer la référence feuille 1 avec le nom de ma feuille remis la bonne colonne et quand je fait exécuter ça m'affiche:

un cadre avec Microsoft Excel et un chiffre et OK , (le chiffre correspondrai à mon nombre de ligne) après je clic sur ok et rien ne se passe au niveau des dates.

Re,

Peux-tu envoyer ton fichier?

Cdlt.

voila le fichier j'ai juste enlever les références clients mais les dates sont elles réelles.

11aide.zip (58.00 Ko)

Re,

Ci-joint fichier mis à jour et explications du code modifié.

Cdlt.

nb : Ctrl + a pour lancer la procédure.

Option Explicit
Public Sub ModifDates()

Dim sH As Worksheet
Dim derLigne As Integer
Dim i As Integer
    'On gèle l'affichage de l'écran pendant la procédure
   Application.ScreenUpdating = False
    'Attribue une référence d'objet à la feuille "2" "Liste clients"
  Set sH = Worksheets("Liste clients")
    'On recherche la dernière cellule non vide de la colonne "S" de la feuille "Liste clients"
   With sH
        derLigne = .Range("S" & Rows.Count).End(xlUp).Row
        'MsgBox derLigne
        'On boucle de la ligne 3 à la dernière ligne non vide de la colonne "S"
       For i = 3 To derLigne
            'On ajoute 12 mois à la date initiale
            'Date en colonne "S" soit colonne n° 19
           .Cells(i, 19) = DateAdd("m", 12, .Cells(i, 19))
        Next i
   End With
End Sub
 
15aide.zip (58.93 Ko)

Re,

ok j'ai vue mon erreur c'est le nombre 19 que j'avais pas changer merci beaucoup pour ton aide j'ai compris comment marche ta macro mais de là à la faire tout seul je pense pas que j'y arrive, mais faux bien démarrer un jour.

Encore merci à toi ainsi qu'aux autres pour votre temps.

Rechercher des sujets similaires à "dates"