Posez votre question Signaler

[VBA Excel] cellule vide [Résolu]

afrodje - Dernière réponse le 24 mars 2008 à 17:10
Bonjour,
Je dois effectué une condition si la cellule n'est pas vide et ne contienne pas les caractere "quantite".
J'ai deja ceci
 if PysFeuille.getCellByPosition(debutColonne, PysLigEnCours).value = 0 then
      PysFeuille.removeRange(PysCell.RangeAddress, com.sun.star.sheet.CellDeleteMode.UP)
      PysFeuille.removeRange(PysCell_plus_1.RangeAddress, com.sun.star.sheet.CellDeleteMode.UP)
      PysFeuille.removeRange(PysCell_plus_2.RangeAddress, com.sun.star.sheet.CellDeleteMode.UP)
   end if

Ce code s'execute meme si la cellule est vide.
Merci
Lire la suite 

[VBA Excel] cellule vide »

13 réponses
Réponse
+1
moins plus
Bonjour,
si la cellule est vide, sa valeur est "" et pas 0
afrodje - 6 févr. 2008 à 11:54
ne fonctionne pas.
Aucun message de retour
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Remplace

if PysFeuille.getCellByPosition(debutColonne, PysLigEnCours).value = 0 then

par

if empty(PysFeuille.getCellByPosition(debutColonne, PysLigEnCours)) then
afrodje - 6 févr. 2008 à 11:52
procedure de fonction non defini
Ajouter un commentaire
Réponse
+0
moins plus
bonjour essai sa
if not isnull(PysFeuille.getCellByPosition(debutColonne, PysLigEnCours).value) then
PysFeuille.removeRange(PysCell.RangeAddress, com.sun.star.sheet.CellDeleteMode.UP)
PysFeuille.removeRange(PysCell_plus_1.RangeAddress, com.sun.star.sheet.CellDeleteMode.UP)
PysFeuille.removeRange(PysCell_plus_2.RangeAddress, com.sun.star.sheet.CellDeleteMode.UP)
end if
afrodje - 6 févr. 2008 à 11:56
Ta solution s'effectue à chaque fois (avec cellule vide, egale à 0, avec chaine de caractere,...)
Ajouter un commentaire
Réponse
+0
moins plus
En faite je ne suis pas sur excel mais open office calc...
Darkito- 6 févr. 2008 à 12:04
Donc ce n'est pas du vba... ?
afrodje - 6 févr. 2008 à 12:11
on m'aurai mal renseigné...
Quel est le langage alors?
Ajouter un commentaire
Réponse
+0
moins plus
C'est Open Office Basic


Et voila le code

Sub PysRazLignes

'Ci-dessous attention les numéros de ligne et colonne commencent à zéro

const PysLigDeb = 1         'Adapter en fonction du nombre de lignes
const PysLigFin = 24     'Adapter en fonction du nombre de lignes


dim PysClasseur as object, PysFeuille as object, PysPlage as object
dim PysLigEnCours as long
dim debutColonne as Variant
dim i as integer
dim nombre_ligne as integer

'nombre de la colonne debute à 0 (donc ex : 5 donne la colonne F)
debutColonne = Array(1,5,9)

'numero de ligne entre les 2 tableaux
nombre_ligne = 12




' Accès au document courant
PysClasseur = thiscomponent

'Dans ce classeur accès par son nom à une feuille
PysFeuille = PysClasseur.sheets.getByName("Feuil1")


for i = 0 to 2 step 1
						'Boucle depuis la dernière ligne à traiter jusqu'à la première
						for PysLigEnCours = PysLigFin to PysLigDeb step - 1
						
						   PysCell = PysFeuille.getCellByPosition(debutColonne(i), PysLigEnCours)   'Accès à la cellule
						   PysCell_plus_1 = PysFeuille.getCellByPosition((debutColonne(i)+1), PysLigEnCours)   'Accès à la cellule+1
						   PysCell_plus_2 = PysFeuille.getCellByPosition((debutColonne(i)-1), PysLigEnCours)   'Accès à la cellule-1
						  
						  
						 
						     if IsNumeric(PysCell.STRING) = True THEN
						         if PysFeuille.getCellByPosition(debutColonne(i), PysLigEnCours).value = 0 THEN
								      
										          PysFeuille.removeRange(PysCell.RangeAddress, com.sun.star.sheet.CellDeleteMode.UP)
										          PysFeuille.removeRange(PysCell_plus_1.RangeAddress, com.sun.star.sheet.CellDeleteMode.UP)
										          PysFeuille.removeRange(PysCell_plus_2.RangeAddress, com.sun.star.sheet.CellDeleteMode.UP)
										          
										           'inserer une ligne vide
										           PysCell = PysFeuille.getCellByPosition(debutColonne(i), nombre_ligne)  
										        
										
						         end if 
						    end if 
						   
						next PysLigEnCours
next i

End Sub 
Ajouter un commentaire
Réponse
+0
moins plus
--
1000101 et plus si affinité ;)
Darkito- 8 févr. 2008 à 10:24
Ce sera sans moi pour ta signature
Ajouter un commentaire
Réponse
+0
moins plus
ouai c vrai
Ajouter un commentaire
Ce document intitulé « [VBA Excel] cellule vide » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?