VBA Remplir cellules vides

Résolu/Fermé
actaris51 Messages postés 93 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 11 juillet 2011 - 28 juil. 2009 à 11:37
the_evil_peanuts Messages postés 1 Date d'inscription jeudi 1 septembre 2016 Statut Membre Dernière intervention 1 septembre 2016 - 1 sept. 2016 à 14:48
Bonjour,
J'ai un tout petit problème :
J'ai ce bout de code :

Sub celvides()
ActiveSheet.Range("N1:N4000").SpecialCells(xlCellTypeBlanks) = "01/01/2012"
ActiveSheet.Range("O1:O4000").SpecialCells(xlCellTypeBlanks) = 'la celulle d'a coté
End Sub

Le but est que pour mes cellules vides de la colonne N, la date du 01/01/20012 soit mise automatiquement, ce qui marche à condition qu'il y ait effectivement des cellules vides (si je le lance deux fois d'affilée, ca plante).
Et la deuxième ligne de code; je souhaite que pour les cellules vides de la colonne O, soit recopiée la valeur correspondante de la colonne N. Je pensais utiliser la fonction Cellule.Offset(0, -1) mais je n'y arrive pas.
Pouvez vous m'aider ?
Merci

2 réponses

bonjour,

voici ce que tu demandes

Sub celvides()

j=4 'met un numéro de colonne pour lequel tu as toujours une valeur dans ton tableau
i=1

cells(i,j).select
do while selection <> ""
cells(i,14).select 'sélection de la colonne n
if selection = "" then
selection ="01/01/2012"
end if
cells(i,15).select
if selection ="" then
selection = cells(i,14)
end if
i=i+1
cells(i,j).select
loop
End Sub

Un conseil : fais le tourner pavec F8 (pas à pas) pour etre sur que c'est ce que tu veux
0
the_evil_peanuts Messages postés 1 Date d'inscription jeudi 1 septembre 2016 Statut Membre Dernière intervention 1 septembre 2016
1 sept. 2016 à 14:48
Pour une grosse base de données ajoute :

Sub celvides()
Application.ScreenUpdating = False
(...)
loop
Application.ScreenUpdating = True
End Sub

ça évitera que excel n'actualise la page à chaque fois qu'une donnée change, et ça rendra la macro beaucoup plus rapide
0
actaris51 Messages postés 93 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 11 juillet 2011 2
28 juil. 2009 à 15:24
c'est nikel, merci
0