Boucle for avec deux condition

Salut à tous,

je testais une macro:

Sub soldecrediteur2()

'solde colonne 2

Dim i%, dln%, c%

With Worksheets("Sheet1")

dln = .Range("A" & .Rows.Count).End(xlUp).Row

Application.ScreenUpdating = False

For i = 1 To dln

Set a = Sheets("sheet1").Cells(i, 3).Find("releve", lookat:=xlPart)

If Not a Is Nothing Then

Cells(5, "J") = a.Value

Worksheets("Sheet1").Rows(i).EntireRow.Delete

End If

Next i

End With

End Sub

ma question étais de savoir si je pouvais avoir une boucle pour le nombre de colonne aussi...

A Savoir de faire la même opération pour chaque colonne et non que sur une seule comme le ca présent.

Merci d'avance...

Salut ims64000,

pas très clair ton code...

Si tu trouves ta valeur en ligne 5... (par exemple)

Set a = .Cells(i, 3).Find("releve", lookat:=xlPart)

... elle disparaît avec...

.Rows(i).EntireRow.Delete

... la valeur copiée en [J]. Enfin, peut-être, car il n'y a pas de point devant CELLS...

Ou alors, la valeur copiée en [J] est constamment remplacée...

Cells(5, "J") = a.Value

Explique un peu ce que tu fais!

A+

yes super cool que tu sois connecté et que tu prennes le temps de répondre.

En fait je veux faire un contrôl sur plusieurs colonne pour savoir si cette valeur existe.

Si la valeur existe sur une ligne alors je veux que celle-çi soit supprimer.

La base est un document que j'ai convertie en format excel mais il arrive qu'il y est des erreurs dans

l'emplacement des cases c'est pour quoi je veux vérifier sur chaque colonne si cette donnée existe...

J'espère que tu me comprends...

Compliqué à saisir, ton truc.

Envoie le fichier correspondant à ta recherche avec les explications nécessaires!

A+

voici le fichier. merci pour ton aide.

Salut ims,

comprends rien à ton truc...

C'est quoi (dans ton code) cette référence au solde colonne 2?

M'enfin, j'ai fait selon l'idée de ton code...

La macro démarre sur un double-clic n'importe où dans la feuille.

Le code ci-dessous parcourt ta feuille et supprime toutes les lignes où apparaît le mot "releve" en gardant cette valeur (toujours la même, d'ailleurs) en [J5].

Est-ce cela que tu voulais?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'solde colonne 2
Dim i%, dln%, c%
Dim rCel As Range
'
Application.ScreenUpdating = False
'
With Worksheets("Sheet1")
    iRow = .Range("A" & Rows.Count).End(xlUp).Row
    On Error Resume Next
    For x = iRow To 6 Step -1
        Set rCel = .Rows(x).Find(what:="releve", lookat:=xlPart, searchdirection:=xlNext)
        If Not rCel Is Nothing Then
            .[J5] = rCel.Value
            .Rows(x).Delete shift:=xlUp
        End If
    Next
    On Error GoTo 0
End With
'
Application.ScreenUpdating = True
'
End Sub

A+

je teste de suite et te fait un retour...

pti soucis pour le lancement de la macro lorsque je double clic sur la feuille celle ci ne se lance pas...

que dois je faire? ...

Je viens de mettre la macro dans la feuille et non pas dans le module cela fonctionne.

est il possible de la lancer directement et non pas par un double clic je souhaiterais la mettre à la suite d'autre macro.

Salut ims,

tu mets le code où tu veux : tu connais tes besoins mieux que moi.

Si tu veux de l'aide, précise les circonstances d'utilisation.

A+

Rechercher des sujets similaires à "boucle deux condition"