VBA : Comment clore une boucle "si..." ?

Anisa

XLDnaute Nouveau
Bonjour à tous,

Novice en VBA, je m'inspire des questions et conseils posés dans ce forum. Mais je n'arrive pas à clore ma boucle, qui continue jusqu'à la fin de la feuille.
En fait, la boucle devrait répondre à 2 conditions, ce que je ne maîtrise pas.

Voici ma macro :

Sub Visites_prévues()
'
' Visites_prévues Macro
' Macro enregistrée le 23-06-2010 par castex
'

'Supprime colonnes A C et F

Columns("A:A").Select
Selection.Delete Shift:=xlToLeft
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Columns("D:D").Select
Selection.Delete Shift:=xlToLeft

'Copie le nom du commercial dans la colonne A sur toutes les lignes jusqu'au prochain nom "non vide"
'ET jusqu'à la dernière date de visite

a = Range("A65536").End(xlUp).Row
a = 1
Do While Cells(a, 1) <> ""
If Cells(a + 1, 1).Value = "" Then
Cells(a + 1, 1) = Cells(a, 1)
End If
a = a + 1
Loop

'Sélectionne les lignes sans visite et les supprime

b = Range("A65536").End(xlUp).Row
b = 2
Columns(b).SpecialCells(xlCellTypeBlanks).EntireRow.Delete

End Sub​

Fichier exemple joint.
Si quelqu'un a un conseil, je suis preneuse.
Merci beaucoup !

Bonne soirée,
 

Pièces jointes

  • Test.xls
    23.5 KB · Affichages: 47
  • Test.xls
    23.5 KB · Affichages: 47
  • Test.xls
    23.5 KB · Affichages: 48

job75

XLDnaute Barbatruc
Re : VBA : Comment clore une boucle "si..." ?

Bonsoir,

Une solution avec boucle sur les zones vides :

Code:
Sub Visites_prévues()

Dim a As Range

On Error Resume Next 'évite le bug s'il n'y a plus de cellules vides...

'Supprime colonnes A C et F

Range("A:A,C:C,F:F").Delete

'Copie le nom du commercial dans la colonne A sur toutes les lignes jusqu'au prochain nom "non vide"

For Each a In Columns(1).SpecialCells(xlCellTypeBlanks).Areas 'sur chaque zone vide
  a = Cells(a.Row - 1, 1).Value 'remplit la zone avec le nom du commercial
Next

'Supprime les lignes sans visite

Columns(2).SpecialCells(xlCellTypeBlanks).EntireRow.Delete

End Sub

A+
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
313 344
Messages
2 097 337
Membres
106 916
dernier inscrit
Soltani mohamed