Reporter les dates d'une autre colonne

Bonjour,

J'aimerais pouvoir reporter des dates de la colonne 7 à la colonne 8 dans le cas où aucune date n'est précisée dans la colonne 8. Problème, des 0 sont retranscrits à la place des dates... Voici mon code :

Sub function1 ()

dim x as integer

LastRow2 = Sheets("DATA SELECTION").Range("A" & Rows.Count).End(xlUp).Row

For x = 2 To LastRow2

If Cells(x, 8) = "" Then

Cells(x, 8) = Cells(x, 7)

End If

Next x

end sub

Merci de votre aide,

Bonjour,

Si la colonne 8 contient par exemple des formules, elle n'est de fait pas vide même si ces formules ne renvoie aucune valeur. Mais pour mieux cerner votre problème, un fichier serait le bienvenu.

Bonjour,

Si la colonne 8 contient par exemple des formules, elle n'est de fait pas vide même si ces formules ne renvoie aucune valeur. Mais pour mieux cerner votre problème, un fichier serait le bienvenu.

Bonjour Pedro22,

Avant tout merci pour votre retour. Ensuite, pour éclaircir mes propos

les colonnes 8 et 7 contiennent toutes deux que des dates

La colonne 8 nous donne des échéances renégociées de paiement

La colonne 7 nous donne les échéances de base à la signature du contrat

Certains contrats ne demandent pas de révision d'échéance, ainsi certaines cellules à la colonne 8 sont vides

De ce fait, j'aimerais reporter les dates non renégociées de la colonne 7 dans les cellules vides de la colonne 8

J'espère que je suis compréhensible...

Bonjour,

Si la colonne 8 contient par exemple des formules, elle n'est de fait pas vide même si ces formules ne renvoie aucune valeur. Mais pour mieux cerner votre problème, un fichier serait le bienvenu.

Voici un fichier exemple

3exemple.xlsx (9.32 Ko)

J'ai un peu triché mais cela marche :

Sub function1()

Dim x As Integer

For x = 2 To 9

If Cells(x, 8) = "" Then

Cells(x, 8) = Cells(x, 7)

End If

Next x

Columns("H:H").Select

Range("H49").Activate

Selection.NumberFormat = "m/d/yyyy"

End Sub

re

Sub Macro1()
Dim x As Integer

LastRow2 = Sheets("DATA SELECTION").Range("A" & Rows.Count).End(xlUp).Row

For x = 2 To LastRow2
If Cells(x, 8) = "" Then
Cells(x, 8).Value = CDate(Cells(x, 7))
End If
Next x
End Sub

exemple (retour).xlsm

re

Sub Macro1()
Dim x As Integer

LastRow2 = Sheets("DATA SELECTION").Range("A" & Rows.Count).End(xlUp).Row

For x = 2 To LastRow2
If Cells(x, 8) = "" Then
Cells(x, 8).Value = CDate(Cells(x, 7))
End If
Next x
End Sub

Beaucoup plus élégant que ma proposition, au top !

Merci beaucoup encore une fois

Beaucoup plus élégant que ma proposition, au top !

Merci beaucoup encore une fois

Tu avais déjà fait la plus grande partie du travail … la boucle manquait juste l'utilisation de "cdate"

Rechercher des sujets similaires à "reporter dates colonne"