Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1426 connectés 

  FORUM HardWare.fr
  Programmation

  VBA-Excel : Comment détecter une cellule vide ou non?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA-Excel : Comment détecter une cellule vide ou non?

n°95972
nul_olive
Posté le 02-02-2002 à 14:06:32  profilanswer
 

[Mode gros newbie on]
 
J'ai fait une macro qui doit copier le contenu d'une cellule ds une autre. Seulement, s'il y'a déjà qqs chose ds la cellule cible, je veux que le contenu de le cellule source soit copier ailleurs (peu importe ou).
 
Comment lui dire de vérifier que me cellule cible contient qqs chose?
Voila le petit bout de macro qui me fait chier :
 
    Range("A4" ).Activate
    Selection.Copy
    Range("B25:I25" ).Select
    If ??????????? = 0 Then
    ActiveSheet.Paste
    End If
    If ??????????? = 1 Then
    Range("B26:I26" ).Select
 etc......
 
C quoi la fonction que je doit mettre à la place des points d'interro?
Merci d'avance.

mood
Publicité
Posté le 02-02-2002 à 14:06:32  profilanswer
 

n°110163
nur
Posté le 10-03-2002 à 18:21:40  profilanswer
 

nul_olive a écrit a écrit :

[Mode gros newbie on]
 
J'ai fait une macro qui doit copier le contenu d'une cellule ds une autre. Seulement, s'il y'a déjà qqs chose ds la cellule cible, je veux que le contenu de le cellule source soit copier ailleurs (peu importe ou).
 
Comment lui dire de vérifier que me cellule cible contient qqs chose?
Voila le petit bout de macro qui me fait chier :
 
    Range("A4" ).Activate
    Selection.Copy
    Range("B25:I25" ).Select
    If ??????????? = 0 Then
    ActiveSheet.Paste
    End If
    If ??????????? = 1 Then
    Range("B26:I26" ).Select
 etc......
 
C quoi la fonction que je doit mettre à la place des points d'interro?
Merci d'avance.  




if activecell.value=""

n°110165
Michrone
MVFLCQLEV
Posté le 10-03-2002 à 18:22:43  profilanswer
 

Fais gaffe, t'es toujours en mode gros newbie.  N'oublie pas d'en sortir...
Sinon, je suis ok pour la réponse de nur.


---------------
Mieux vaut faire le con que l'être vraiment - www.lescons.be -
n°110208
AlainTech
Pas trouvé? Cherche encore!
Posté le 10-03-2002 à 21:51:10  profilanswer
 

La façon plus propre de faire est isempty(activecell)
 
Voici un petit exemple qui contient d'autres astuces:
 
Dim iI As Integer
Dim vI As Variant
 
Sub TestType()
  ' Je vérifie s'il y a déjà une feuille "TestType"
  For Each vI In Worksheets
    If vI.Name = "TestType" Then
      ' La ligne suivante empèche de devoir
      ' confirmer la suppression
      Application.DisplayAlerts = False
      ' Je supprime la feuille "TestType"
      vI.Delete
      ' Ne pas oublier de remettre les messages de confirmation
      Application.DisplayAlerts = True
    End If
  Next vI
  ' J'ajoute une feuille
  Worksheets.Add
  ' Je la renomme
  ActiveSheet.Name = "TestType"
  ' J'y mets quelques valeurs
  [A1] = 5
  [B1] = 0
  [C1].Formula = "=a1/b1"
  [D1] = "Du texte"
  For iI = 1 To 5
    ' J'affiche le numéro du type de contenu
    ' Type 5 = vbDouble
    ' Type 10 = vbError
    ' Type 8 = vbString
    ' Type 0 = vbEmpty
    MsgBox ("La cellule " & Cells(1, iI).Address & vbCrLf _
    & "est de type " & VarType(Cells(1, iI)))
    If IsEmpty(Cells(1, iI)) Then
      ' Si la cellule est vide, je le dis
      MsgBox ("La cellule " & Cells(1, iI).Address & " est vide" )
    End If
  Next iI
End Sub

n°110642
nur
Posté le 11-03-2002 à 18:55:01  profilanswer
 

AlainTech a écrit a écrit :

La façon plus propre de faire est isempty(activecell)
 
Voici un petit exemple qui contient d'autres astuces:
 
Dim iI As Integer
Dim vI As Variant
 
Sub TestType()
  ' Je vérifie s'il y a déjà une feuille "TestType"
  For Each vI In Worksheets
    If vI.Name = "TestType" Then
      ' La ligne suivante empèche de devoir
      ' confirmer la suppression
      Application.DisplayAlerts = False
      ' Je supprime la feuille "TestType"
      vI.Delete
      ' Ne pas oublier de remettre les messages de confirmation
      Application.DisplayAlerts = True
    End If
  Next vI
  ' J'ajoute une feuille
  Worksheets.Add
  ' Je la renomme
  ActiveSheet.Name = "TestType"
  ' J'y mets quelques valeurs
  [A1] = 5
  [B1] = 0
  [C1].Formula = "=a1/b1"
  [D1] = "Du texte"
  For iI = 1 To 5
    ' J'affiche le numéro du type de contenu
    ' Type 5 = vbDouble
    ' Type 10 = vbError
    ' Type 8 = vbString
    ' Type 0 = vbEmpty
    MsgBox ("La cellule " & Cells(1, iI).Address & vbCrLf _
    & "est de type " & VarType(Cells(1, iI)))
    If IsEmpty(Cells(1, iI)) Then
      ' Si la cellule est vide, je le dis
      MsgBox ("La cellule " & Cells(1, iI).Address & " est vide" )
    End If
  Next iI
End Sub  



t'es sur que ça marche isempty?
je croyais que ça servait a verifier si une variable etait affectée ou non

n°110711
AlainTech
Pas trouvé? Cherche encore!
Posté le 11-03-2002 à 21:34:53  profilanswer
 

Fais tourner l'exemple, tu verras.
J'ai pour principe de vérifier ce que je dis (histoire de pas TROP dire de conneries.
Le code envoyé est un copier/coller de celui que j'ai testé avant de l'envoyer.

n°2255820
arianinou
Posté le 15-04-2015 à 12:43:54  profilanswer
 

Merci pour cette info bien pratique !
 :)  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  VBA-Excel : Comment détecter une cellule vide ou non?

 

Sujets relatifs
fichier excel ======>>Macro VBA pour convertir les fonts de 350 fichiers ....
ActiveX data objects en VBA[ VBA ] Accéder aux enregistrements d'un table ?
[VBA] fair la fonction valeu cible en VBVBA Excel - Help
[C] Comment detecter le SHIFT ?VBA / Access /clipboard
automatisation de macros excel 
Plus de sujets relatifs à : VBA-Excel : Comment détecter une cellule vide ou non?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR