Incrémenter une date

gopo

XLDnaute Junior
Bonjour,

Je voudrais savoir s'il est possible d'incrémenté une date, je ne sais pas quel format prendre, enfin j'ai besoin de votre aide.

La date dans mon tableau excel est mardi-01-janvier-2008, je voudrais copier des valeurs qui se trouve dans chaque ligne ou se trouve une date.

mardi-01-janvier-2008
mercredi-02-janvier-2008
.... etc

Merci de me donné la valeur de cette date pour l'utiliser en VBA et pouvoir incrémenter le jour avec l'indice "i".

Cordialement & bonne aprem ! ( bonne fête surtout ^^ )
 

gopo

XLDnaute Junior
Re : Incrémenter une date

Désolé ... j'ai toujours du mal a m'exprimé, m'expliqué !

Je voudrais incrémenté une date en VBA, car en :
A2 -> mardi-01-janvier-2008
A17 -> mercredi-02-janvier-2008

Je doit copié .Cells(i, 7) ; i est selon la date, c'est pour sa que je voudrais incrémenté la date, mais je ne sais pas quoi mettre ici :

If Cells(i, 1) = ICI_JE_MET_LA_DATE Then
 

porcinet82

XLDnaute Barbatruc
Re : Incrémenter une date

Salut,

Pas sur d'avoir compris non plus, m'enfin, je tente ma chance quant même.
Pour tester si le contenu d'une cellule contient une date, tu peux utiliser :
Code:
If Isdate(cells(1,1).value) = true then

Pour incrémenter une date, regarde ceci :
Code:
Sub test()
Dim date_act As Date, nouvelle_date As Date
date_act = #12/22/2008#
nouvelle_date = date_act + 1
MsgBox "nouvelle date: " & nouvelle_date
End Sub

@+
 

porcinet82

XLDnaute Barbatruc
Re : Incrémenter une date

re,

Oula, j'avais pas vue la réponse en meme temps que la mienne, et je dois dire que ca m'a embrouillé plus qu'autre chose...
Je pense que si je la solution ne se trouve pas dans mon post, un fichier exemple serai le bien venu...

@+
 

gopo

XLDnaute Junior
Re : Incrémenter une date

Ca ressemble a ça normalement,

Code:
Private Sub CommandButton1_Click()
Dim variable1 As String
Dim variable2 As String
Dim i As Integer
Dim j As Integer
  
  For i = 1 To 3500 Step 1
             If IsDate(Cells(1, i).Value) = True Then
                     ActiveWorkbook.Sheets("janvier").Select
                     
                     variable1 = ActiveSheet.Cells(9, i).Value
                     variable2 = ActiveSheet.Cells(16, i).Value

                     
                     Workbooks.Open ActiveWorkbook.Path & "\Classeur1.xls"
                     
                     ActiveWorkbook.Sheets("Plaque Sud").Cells(j, 4).Value = variable1
                     ActiveWorkbook.Sheets("Plaque Sud").Cells(j, 5).Value = variable2
                    ' ActiveWorkbook.Sheets("Paris Keller").Select
                   
                   j = j + 1
                        Exit For
                        End If
            Next
End Sub

Ca ne veut pas rentrer dans ma boucle, alors quand A309 j'ai une date Mardi-1-Janvier-2007.

Pouvez vous m'eclaircir ? Est ce que ce code devrait marcher ?
 

JCGL

XLDnaute Barbatruc
Re : Incrémenter une date

Bonjour à tous,

Un fichier est plus que nécessaire...

Souhaites-tu un pas de x dans les dates sur chaque ligne ?
Souhaites-tu un pas de 1 toutes les x lignes ?

A+ à tous

Edition : Bonjour Toto
 
Dernière édition:

gopo

XLDnaute Junior
Re : Incrémenter une date

Voici les fichier exemple, le classeur 3 est le fichier de destination et le classeur2 est donc la source, je voudrais copié les info de la colonne C et E respectivement dans la colone B et C du fichier classeur3.

Donc je doit prendre la date en indice
 

Pièces jointes

  • classeur2.xls
    15 KB · Affichages: 106
  • classeur2.xls
    15 KB · Affichages: 122
  • classeur2.xls
    15 KB · Affichages: 118
  • Classeur3.xls
    38.5 KB · Affichages: 104
  • Classeur3.xls
    38.5 KB · Affichages: 110
  • Classeur3.xls
    38.5 KB · Affichages: 113

gopo

XLDnaute Junior
Re : Incrémenter une date

Code:
Private Sub CommandButton1_Click()
Dim variable1 As String
Dim variable2 As String
Dim i As Integer
Dim j As Integer
  
  j = 4
  For i = 1 To 3500 Step 1
             If IsDate(Cells(i, 1).Value) = True Then
                     ActiveWorkbook.Sheets("feuil1").Select
                     
                     variable1 = ActiveSheet.Cells(i, 3).Value
                     variable2 = ActiveSheet.Cells(i, 5).Value

                     
                     Workbooks.Open ActiveWorkbook.Path & "\Classeur3.xls"
                     
                     ActiveWorkbook.Sheets("Plaque Sud").Cells(j, 2).Value = variable1
                     ActiveWorkbook.Sheets("Plaque Sud").Cells(j, 4).Value = variable2
                    ActiveWorkbook.Sheets("Plaque Sud").Select
                   
                   j = j + 1
                
                        End If
            Next
End Sub


Ceci marche tres bien pour la premiere date, mais ca bug sur la ligne du If...
 

tototiti2008

XLDnaute Barbatruc
Re : Incrémenter une date

Re,
Bonjour JCGL,

Lorsque tu travailles sur plusieurs classeurs, évite d'utiliser systématiquement Activeworkbook car il arrive que le classeur actif ne soit pas celui que tu crois...
d'autre part ton code risque d'ouvrir le classeur Classeur3.xls à chaque tour de boucle...

une proposition :
Code:
Sub CommandButton1_Click()
Dim variable1 As String
Dim variable2 As String
Dim i As Integer
Dim j As Integer
    j = 4
    Workbooks.Open ActiveWorkbook.Path & "\Classeur3.xls"
        For i = 1 To 3500
            If IsDate(ThisWorkbook.Worksheets("Feuil1").Cells(i, 1).Value) Then
                With ThisWorkbook.Worksheets("Feuil1")
                    variable1 = .Cells(i, 3).Value
                    variable2 = .Cells(i, 5).Value
                    Workbooks("Classeur3.xls").Sheets("Plaque Sud").Cells(j, 2).Value = variable1
                    Workbooks("Classeur3.xls").Sheets("Plaque Sud").Cells(j, 4).Value = variable2
                    j = j + 1
                End With
            End If
        Next
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 852
Membres
103 974
dernier inscrit
chmikha