Macro calc insertion ligne sous condition

Résolu
judasperge Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   -  
judasperge Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

2 réponses

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
judasperge Messages postés 153 Date d'inscription   Statut Membre Dernière intervention   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