Se connecter avec
S'enregistrer | Connectez-vous

Boucle+compteur basic

Dernière réponse : dans Programmation

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


  1. Sub ajoutersalarie
  2. Dim oDocument As Object, oSheet As Object, oCell As Object
  3. Dim saisie as String
  4. Dim ok As Boolean
  5. Dim compteur as Integer
  6. oDocument=ThisComponent
  7. oSheet=oDocument.Sheets.getByName("SALARIES")
  8. ok=false
  9. For compteur=4 To 12
  10. oCell=oSheet.getCellByPosition(0,compteur)
  11. Do [While ok = false]
  12. If (ocell.getstring="") Then
  13. saisie = InputBox ("Quel est le nom du salarié?","Ajouter un salarié","",3000,3000 ) ',3000,3000 donne la position d'ouverture de la fenetre
  14. oCell=oSheet.getCellRangeByName(1,compteur)
  15. oCell.setString(cStr(saisie))
  16. saisie = InputBox ("Quel est le prénom du salarié?","Ajouter un salarié","",3000,3000 ) ',3000,3000 donne la position d'ouverture de la fenetre
  17. oCell=oSheet.getCellRangeByName(2,compteur)
  18. oCell.setString(cStr(saisie))
  19. 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
  20. oCell=oSheet.getCellRangeByName(3,compteur)
  21. oCell.setString(cStr(saisie))
  22. 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
  23. oCell=oSheet.getCellRangeByName(4,compteur)
  24. oCell.setString(cStr(saisie))
  25. 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
  26. oCell=oSheet.getCellRangeByName(5,compteur)
  27. oCell.setString(cStr(saisie))
  28. 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
  29. oCell=oSheet.getCellRangeByName(6,compteur)
  30. oCell.setString(cStr(saisie))
  31. 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
  32. oCell=oSheet.getCellRangeByName(7,compteur)
  33. oCell.setString(cStr(saisie))
  34. 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
  35. oCell=oSheet.getCellRangeByName(8,compteur)
  36. oCell.setString(cStr(saisie))
  37. 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
  38. oCell=oSheet.getCellRangeByName(9,compteur)
  39. oCell.setString(cStr(saisie))
  40. 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
  41. oCell=oSheet.getCellRangeByName(10,compteur)
  42. oCell.setString(cStr(saisie))
  43. 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
  44. oCell=oSheet.getCellRangeByName(11,compteur)
  45. oCell.setString(cStr(saisie))
  46. 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
  47. oCell=oSheet.getCellRangeByName(12,compteur)
  48. oCell.setString(cStr(saisie))
  49. ok=true
  50. else
  51. print "erreur"
  52. End If
  53. End Do
  54. End For
  55. End Sub

Autres pages sur : boucle compteur basic

Lassé par la pub ? Créez un compte
Lassé par la pub ? Créez un compte