Boucle+compteur basic

kevcaus

Nouveau membre
Bonjour,
je rencontre un probleme lors de l'utilisation de ma macro.
L'objectif de cette macro est de remplir une ligne (et une seule) uniquement si celle ci est vide.
Les lignes sélectionnées sont de 4 à 12.
Si je viens à remplir une ligne, c'est à dire si une ligne est vide, alors je passe un booleen à faux et je sors de la boucle (afin de ne remplir qu'une seule ligne)

ex :
Quand le macro se lance, il doit vérifier si ma case B4 est vide. SI tel est le cas, alors il me lancera les instructions du if.
Sinon, il me test la case B5. Ainsi de suite jusqu'à 12.
Admettons que je remplisse la case B8, je veux sortir de ma boucle pour ne plus tester les cases suivantes car je viens de remplir une ligne.

Merci de vérifier la macro suivante et de m'aider à résoudre mon probleme


Code:
Sub ajoutersalarie
	Dim oDocument As Object, oSheet As Object, oCell As Object
	Dim saisie as String
	Dim ok As Boolean
	Dim compteur as Integer
oDocument=ThisComponent
oSheet=oDocument.Sheets.getByName("SALARIES")
ok=false
For compteur=4 To 12 
	oCell=oSheet.getCellByPosition(0,compteur)
	Do [While ok = false]
		If (ocell.getstring="") Then
			saisie = InputBox ("Quel est le nom du salarié?","Ajouter un salarié","",3000,3000 ) ',3000,3000 donne la position d'ouverture de la fenetre
			oCell=oSheet.getCellRangeByName(1,compteur) 
			oCell.setString(cStr(saisie))
			saisie = InputBox ("Quel est le prénom du salarié?","Ajouter un salarié","",3000,3000 ) ',3000,3000 donne la position d'ouverture de la fenetre
			oCell=oSheet.getCellRangeByName(2,compteur)  
			oCell.setString(cStr(saisie))
			saisie = InputBox ("Quel est l'adresse du salarié?","Ajouter un salarié","ex: 16, rue des Hesperides",3000,3000 ) ',3000,3000 donne la position d'ouverture de la fenetre
			oCell=oSheet.getCellRangeByName(3,compteur)  
			oCell.setString(cStr(saisie))
			saisie = InputBox ("Quel est le code postal du salarié?","Ajouter un salarié","ex: 59320",3000,3000 ) ',3000,3000 donne la position d'ouverture de la fenetre
			oCell=oSheet.getCellRangeByName(4,compteur) 
			oCell.setString(cStr(saisie))
			saisie = InputBox ("Quel est la ville du salarié?","Ajouter un salarié","ex: Bordeaux",3000,3000 ) ',3000,3000 donne la position d'ouverture de la fenetre
			oCell=oSheet.getCellRangeByName(5,compteur)  
			oCell.setString(cStr(saisie))
			saisie = InputBox ("Quel est le numéro de sécurité sociale du salarié?","Ajouter un salarié","ex: 1 68 10 59 150 090 03",3000,3000 ) ',3000,3000 donne la position d'ouverture de la fenetre
			oCell=oSheet.getCellRangeByName(6,compteur)  
			oCell.setString(cStr(saisie))
			saisie = InputBox ("Quel est l'emploi du salarié?","Ajouter un salarié","ex: Vendeur",3000,3000 ) ',3000,3000 donne la position d'ouverture de la fenetre
			oCell=oSheet.getCellRangeByName(7,compteur)  
			oCell.setString(cStr(saisie))
			saisie = InputBox ("Quel est le status du salarié?","Ajouter un salarié","cadre ou non cadre",3000,3000 ) ',3000,3000 donne la position d'ouverture de la fenetre
			oCell=oSheet.getCellRangeByName(8,compteur) 
			oCell.setString(cStr(saisie))
			saisie = InputBox ("Quel est le salaire brut du salarié (en euros)?","Ajouter un salarié","ex: 1500,00",3000,3000 ) ',3000,3000 donne la position d'ouverture de la fenetre
			oCell=oSheet.getCellRangeByName(9,compteur) 
			oCell.setString(cStr(saisie))
			saisie = InputBox ("oCell=oSheet.getCellByPosition(0,0)Quel est le pourcent du salarié?","Ajouter un salarié","ex: 0,50%",3000,3000 ) ',3000,3000 donne la position d'ouverture de la fenetre
			oCell=oSheet.getCellRangeByName(10,compteur)  
			oCell.setString(cStr(saisie))
			saisie = InputBox ("Quel est l'avantage du salarié?","Ajouter un salarié","ex: 250,00",3000,3000 ) ',3000,3000 donne la position d'ouverture de la fenetre
			oCell=oSheet.getCellRangeByName(11,compteur)  
			oCell.setString(cStr(saisie))
			saisie = InputBox ("Quel est le nombre d'heure/semaine du salarié?","Ajouter un salarié","ex: 35",3000,3000 ) ',3000,3000 donne la position d'ouverture de la fenetre
			oCell=oSheet.getCellRangeByName(12,compteur) 
			oCell.setString(cStr(saisie))
			ok=true
		else
			print "erreur"
		End If
	End Do
End For
End Sub
 

kevcaus

Nouveau membre
oups désolé, je vais reposter ça dés que je suis a l'iut !!
j'ai pas le projet chez moi

 

kevcaus

Nouveau membre
ah ué, je croyait qu ca allait faire du bordel en fait car les lignes se seraient mélanger mais nan !!
merci bien et dsl :=(
:merci: :merci:
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 108
Membres
1 586 287
Dernier membre
lucilleguffey
Partager cette page
Haut