VBA Remplir cellules vides
Résolu
actaris51
Messages postés
106
Statut
Membre
-
the_evil_peanuts Messages postés 1 Statut Membre -
the_evil_peanuts Messages postés 1 Statut Membre -
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
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
A voir également:
- VBA Remplir cellules vides
- Organigramme a remplir word - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Verrouiller cellules excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Comment supprimer les pages vides sur word - Guide
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
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
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