Macro calc insertion ligne sous condition

Résolu
judasperge Messages postés 174 Statut Membre -  
judasperge Messages postés 174 Statut Membre -
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

  1. pebkac
     
    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
    0
  2. judasperge Messages postés 174 Statut Membre 35
     
    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
    0