Macro calc insertion ligne sous condition

Résolu
Bonjour à tous et à toutes,

sous calc je souhaiterais insérer une ligne en dessous de chaque cellule vide d'une colonne donnée (g)
donc la macro devrais rechercher une cellule vide dans la colonne G, ensuite insérer une ligne en dessous de la ligne appartenant à la cellule vide puis recommencer jusqu'à la derniere cellule rempli de la colonne A afin qu'elle s'arrête à un moment donné...

Comme ça c'est peut etre simple mais pour moi c'est du chinois à traduire ça en prog...
j'ai essayé de voir mais do loop if then sur wikipedia mais il me manque vraiment les bases aie aie voili voilou
Merci d'avance
ju

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. salut

    on va faire simple :
    1. construis ton code pour détecter si la cellule An (ou Gn) est vide
    2. construis ton code pour insérer une ligne sous la ligne n.
    3. crée une boucle où tu utilises le code construit au point 1 et au point 2

    et tu repasses nous voir si tu as des problèmes
    1. Re,

      merci de la demarche pebkac,

      donc je repasse vous voir car j'ai des problemes...pour peaufiner le code...

      j'ai réussi à obtenir a peu prés ce que je veut sauf à quelque point prés : voici le code que j'ai réussi à mixer en farfouillant sur le web et prenant quelques infos par ci par la :

      sub fullemptycell()

      dim oFeuille as object
      dim oCell as object
      dim oLigne as object
      dim ligne as integer
      dim col as integer
      dim xcell as integer
      dim valeur as integer
      dim act as object

      oFeuille = thisComponent.Sheets.getByName("mafeuille")
      col = 6
      act = thiscomponent.currentselection
      xcell = act.RangeAddress.EndRow
      for ligne = (xcell) to (2-1) step -1
      oCell = oFeuille.getCellByPosition(col, (ligne-1))
      valeur =oCell.getValue()
      if oCell.getString = "" then

      oLigne = oFeuille.getRows.getByIndex(ligne)
      oligne.cellBackColor = rgb(250,250,80)
      thisComponent.currentController.select(oLigne)
      wait 500

      oFeuille.getRows.insertByIndex(ligne,1)
      end if
      next ligne
      end sub

      Seulement j'aimerais :
      1 / que cette macro s'applique à toutes les feuilles du classeur (c'est activesheet je crois ....ou l'appliquer..?)
      2 / que je ne sois pas obligé de selectionner la derniere cellule avant de lancer la macro (la ca cloche au niveau de la declaration de ma variable "act" mais idem comment mettre la derniere cellule de la colonne A avec endrow..?

      merci de votre aide car comme j'ai dit plus haut je ne suis pas un expert et la je bloque !

      cordialement,

      julien