Rechercher : dans
Par :

[VBA Excel] cellule vide

Dernière réponse le 24 mar 2008 à 17:10:03 afrodje, le 6 fév 2008 à 11:42:57 
 Signaler ce message aux modérateurs

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
Configuration: Windows XP
Firefox 2.0.0.11

1

Alex, le 6 fév 2008 à 11:44:20

Bonjour,

Remplace

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

par

if empty(PysFeuille.getCellByPosition(debutColonne, PysLigEnCours)) then

Répondre à Alex

4

afrodje, le 6 fév 2008 à 11:52:51

Procedure de fonction non defini

Répondre à afrodje

2

Darkito, le 6 fév 2008 à 11:44:22
  • +1

Bonjour,
si la cellule est vide, sa valeur est "" et pas 0 Tøƒ

Répondre à Darkito

5

afrodje, le 6 fév 2008 à 11:54:06

Ne fonctionne pas.
Aucun message de retour

Répondre à afrodje

3

laetitia02, le 6 fév 2008 à 11:44:59

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

Répondre à laetitia02

6

afrodje, le 6 fév 2008 à 11:56:20

Ta solution s'effectue à chaque fois (avec cellule vide, egale à 0, avec chaine de caractere,...)

Répondre à afrodje

7

afrodje, le 6 fév 2008 à 12:01:34

En faite je ne suis pas sur excel mais open office calc...

Répondre à afrodje

8

Darkito, le 6 fév 2008 à 12:04:19

Donc ce n'est pas du vba... ? Tøƒ

Répondre à Darkito

9

afrodje, le 6 fév 2008 à 12:11:34

On m'aurai mal renseigné...
Quel est le langage alors?

Répondre à afrodje

10

afrodje, le 6 fév 2008 à 16:09:42

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 

Répondre à afrodje

11

afrodje, le 8 fév 2008 à 09:42:13

--
1000101 et plus si affinité ;)

Répondre à afrodje

12

Darkito, le 8 fév 2008 à 10:24:54

Ce sera sans moi pour ta signature Tøƒ
A quand la matière "Comment faire une recherche Google ?" obligatoire dès la 6ème ?

Répondre à Darkito

13

 bobtipitt, le 24 mar 2008 à 17:10:03

Ouai c vrai Etienne l-L

Répondre à bobtipitt