Tableau excel avec vba pour ligne manquante

Résolu
ml220108 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
ml220108 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je vais essayer d'exposer mon problème.

j'ai un tableau de cette forme:

A B C
numero ja voy
1 1000 1500
3 2000 3000
4 1200 900
5 800 1000
7 2000 1520

jusqu'au numéro 31

le problème c'est qui me manque des lignes notamment ds exemple la 2 et la 6.

je voudrais bien une macro qui vérifie le tableau et qui insère une ligne quand il remarque qu'il en manque une!!

ne sachant pas si c'est possible???

Merci à tous



excel 2003
A voir également:

4 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,

essaies cette proposition

Option Base 1
Sub inserer_ligne()
Dim tablo
Dim premlig As Byte, derlig As Byte, cptr As Byte, valeur As Byte
ReDim tablo(1)
premlig = 1 'ligne départ
derlig = Range("A100").End(xlUp).Row
    For cptr = Cells(premlig, 1) To derlig
        valeur = Cells(cptr, 1)
        ReDim Preserve tablo(valeur)
        tablo(valeur) = valeur
    Next
Cells(premlig, 1).Resize(UBound(tablo), 1) = Application.Transpose(tablo)

End Sub
0
ml220108 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   3
 
bonjour

Merci pour cette réponse rapide.

je viens de tester et la macro sort une erreur sur la ligne: valeur = Cells(cptr, 1)

je ne sais malheureusement pas comment corriger...

merci bcp

je vous remercie par avance de bien vouloir m'aiguiller car ma connaissance de vba se limite à la fonction enregistrer!!
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour,
la méthode de michel_m est la bonne et
vu l'heure, je vais me permettre une suggestion, apparemment les n° dans ton tableau commencent en ligne 2 et non en ligne 1 donc tenter de remplacer
premlig = 1 par premlig = 2
bonne suite
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
ere,

excuses moi je m'étais croisé les yeux avec les n° de lignes et les valeurs dans la ligne #(°!°)#

Option Base 1  
Sub inserer_ligne()  
Dim tablo  
Dim premlig As Byte, derlig As Byte, lig As Byte, cptr As Byte, valeur As Byte  
ReDim tablo(1)  
premlig = Columns(1).Find("*", Range("A65536"), xlValues).Row  
derlig = Range("A100").End(xlUp).Row  

tablo(1) = Cells(premlig, 1)  
lig = premlig  
For cptr = premlig To derlig - 1  
        lig = Columns(1).Find("*", Cells(lig, 1), xlValues).Row  
        valeur = Cells(lig, 1)  
        ReDim Preserve tablo(valeur)  
        tablo(valeur) = valeur  
Next  
Cells(premlig, 1).Resize(UBound(tablo), 1) = Application.Transpose(tablo)  


démo-exemple:
http://www.cijoint.fr/cjlink.php?file=cj201012/cij6MZ2XZU.xls modifié à 17:15h
en espérant que...
Michel
Vous programmez en VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...(P. Fauconnier/dvp)
0
ml220108 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   3
 
Un grand merci Michel

cela me convient parfaitement

très cordialement

Ml220108
0