[VBA Excel] cellule vide

Résolu/Fermé
afrodje - 6 févr. 2008 à 11:42
bobtipitt Messages postés 61 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 16 août 2010 - 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

7 réponses

Bonjour,

Remplace

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

par

if empty(PysFeuille.getCellByPosition(debutColonne, PysLigEnCours)) then
0
procedure de fonction non defini
0
Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
6 févr. 2008 à 11:44
Bonjour,
si la cellule est vide, sa valeur est "" et pas 0
0
ne fonctionne pas.
Aucun message de retour
0
laetitia02 Messages postés 424 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 12 mars 2009 129
6 févr. 2008 à 11:44
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
0
Ta solution s'effectue à chaque fois (avec cellule vide, egale à 0, avec chaine de caractere,...)
0
En faite je ne suis pas sur excel mais open office calc...
0
Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
6 févr. 2008 à 12:04
Donc ce n'est pas du vba... ?
0
afrodje > Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010
6 févr. 2008 à 12:11
on m'aurai mal renseigné...
Quel est le langage alors?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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 
0
afrodje Messages postés 759 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 22 janvier 2014 168
8 févr. 2008 à 09:42
--
1000101 et plus si affinité ;)
0
Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
8 févr. 2008 à 10:24
Ce sera sans moi pour ta signature
0
bobtipitt Messages postés 61 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 16 août 2010 2
24 mars 2008 à 17:10
ouai c vrai
0