Précédent   Forum des professionnels en informatique > Logiciels > Autres Logiciels > OpenOffice
OpenOffice Forum d'entraide sur OpenOffice.org. Avant de poster : La F.A.Q OpenOffice
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/09/2011, 15h00   #1
Invité de passage
 
Femme
Inscription : août 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : août 2011
Messages : 1
Points : 0
Points : 0
Par défaut [Macro Basic] Aller à une ligne vide

Bonjour,

je dois travailler sur Open Office et je n'arrive pas à trouver les équivalences avec Excel et VBA que j'arrivais à utiliser.

Mon problème : je voudrais faire une boucle qui va d'une ligne à la suivante tant que la cellule n'est pas vide, afin d'insérer dans une feuille calc des données provenant d'une boîte de dialogue.

- On remplit la boite de dialogue,
- Au moment de valider, le programme cherche la dernière ligne, et insère les données.

En vba je faisais quelque chose comme
Code :
1
2
3
do until cells(i,1)=""
i=i+1
loop
ensuite :
Code :
1
2
3
cells(i,1)=A
cells(i,2)=B
...
avec A et B les infos écrites dans la boîte de dialogue.

Voilà, si quelqu'un a une idée ou une astuce, merci d'avance !
marie04 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2011, 13h24   #2
Futur Membre du Club
 
Homme
Inscription : septembre 2009
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Vendée (Pays de la Loire)

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : septembre 2009
Messages : 22
Points : 19
Points : 19
Bonjour, voici le code.
Je te joins un fichier Calc avec la macro à titre d'exemple.


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
   Sub TrouverLigneVide()
	 Dim monDocument As Object
	 Dim maFeuille As Object
     Dim maCellule As Object
     monDocument = ThisComponent
	 Dim zoneVide As Variant
	 Dim maZone As Object
	 Dim celluleVide As Integer
	 
	 'Je désigne la feuille sur laquelle je travaille
     maFeuille = ThisComponent.getSheets.getByName("Feuille1")
	 
     'Affiche la feuille correspondante au cas où c'est autre feuille qui est affichée à l'écran (FACULTATIF)
     ThisComponent.CurrentController.ActiveSheet = maFeuille

     'Je désigne la zonne sur laquelle je cherche une ligne vide de la manière suivante
     'Colonne A qui est ma colonne de référence.
     'Je commence à la ligne A2 (A2 comporte mes titres de mon tableau). donc la recherche commencera à partir de la ligne 3
     'Je termine à A100. Il ne faut pas hésiter à aller plus loin si le nombre de lignes
     'pouvant étre utiliser est supérieur (exemple: A300)	 
	 maZone = maFeuille.getCellRangeByName("A2:A100")
	 zoneVide = maZone.queryEmptyCells.RangeAddresses
	 'Je trouve la dernière ligne utilisée
	 celluleVide = zoneVide(0).StartRow
	 'J'ajoute 1 pour obtenir la ligne vide
	 celluleVide = celluleVide + 1
	 
	 'Je vais à la ligne vide de la colonne A et j'insère mon nouvel enregistrement (nom)
	 maCellule = maFeuille.getCellRangeByName("A" & celluleVide)
     maCellule.String = "nouveau nom"
     'Je vais à la colonne B et j'insère mon nouveau prénom
     maCellule = maFeuille.getCellRangeByName("B" & celluleVide)
     maCellule.String = "nouveau prénom"
     'Je vais à la colonne C et j'insère ma nouvelle adresse.
     maCellule = maFeuille.getCellRangeByName("C" & celluleVide)
     maCellule.String = "nouvelle adresse"          
     
	End Sub
Fichiers attachés
Type de fichier : ods Exemple ligne vide.ods (11,6 Ko, 4 affichages)
Mobydick_62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h27.


 
 
 
 
Partenaires

Hébergement Web