VBA Remplir cellules vides

Résolu
actaris51 Messages postés 106 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
Configuration: Windows 2000 Internet Explorer 6.0

2 réponses

  1. melanie1324
     
    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
    1. the_evil_peanuts Messages postés 1 Statut Membre
       
      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
  2. actaris51 Messages postés 106 Statut Membre 2
     
    c'est nikel, merci
    0