Supprimer un bloc avec VBA

Supprimer un bloc avec VBA - VB/VBA/VBS - Programmation

Marsh Posté le 26-08-2010 à 14:54:39    

Bonjour à Tous,
 
Je galère en ce moment avec VBA ( débutante :( )
 
Je vous explique mon problème :
 
j'ai une feuille excel avec 4400 lignes et 44 colonnes divisé par bloc (100 blocs), chaque bloc à 43 lignes et 44 colonnes,  les blocs sont séparés par des lignes de 0.
Ce que je vais faire c'est un programme qui calcule la distance euclidienne pour chaque ligne, ensuite supprimer le bloc qui contient la ligne qui la plus petite distance.
 
Voilà mon programme :
 
 
 
 
For b = 1 To 100
   iStartRow(b) = (b - 1) * 44 + 1            'définir les blocs
   iEndRow(b) = (b - 1) * 44 + 44
     
           
        For i = iStartRow(b) To iEndRow(b)
             l = 0                                              'calculer la distance
             For j = 1 To 44
               l = l + Cells(i, j) * Cells(i,j)
             Next j
     
     
     d(i) = Sqr(l)
     
       
 a = d(1)
       
If d(i) < a Then
       a = d(i)                       'trouver la distance minimale
       End If
     
    Next i
     
Next b
 
 
mbs=100
 
For b = 1 To mbs
  For i = iStartRow(b) To iEndRow(b)
For j = 1 To 44
If d(i) = a Then
 Range(Cells(iStartRow(b), 1), Cells(iEndRow(b), 43)).Select      'supprimer le bloc ( c'est ce qui ne marche pas en fait, il supprime tous les blocs)
    Selection.Delete Shift:=xlToLeft
 
 
End If
 
Next j
 
Next i
mbs = mbs - 1
Next b
 
 
   
 
Merci pour votre aise ;)
 
 
 
 
 
 
 

Reply

Marsh Posté le 26-08-2010 à 14:54:39   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed