A voir également:
- [Exel] A la recherche de deux macros
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Deux ecran pc - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Comment faire deux colonnes indépendantes dans word - Guide
3 réponses
Mike-31
Messages postés
18379
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 mars 2025
5 125
17 oct. 2009 à 15:01
17 oct. 2009 à 15:01
Salut,
Il semblerait que nono33, ai abandonné, pour répondre aux deux questions posées qui peuvent intéresser
Le code proposé par lami20j complété pour traiter les ok
Sub suppr_lignes_condition_cellule()
Dim lg As Long, r As Long
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
lg = .Row + .Rows.Count - 1
End With
For r = lg To 1 Step -1
If Cells(r, 1) Like "*done*" Then ' cellule de la colone 1
Rows(r).Delete
End If
If Cells(r, 1) Like "*ok*" Then ' cellule de la colone 1
Rows(r).Delete
End If
Next r
Application.ScreenUpdating = True
End Sub
Le code pour la deuxième question, avec plus d'infos, il serait possible de l'écrire différemment ou supprimer des lignes
Sub test1()
'compare deuc colonnes sur la même feuille
Dim Plage As Range, c As Range, Ligne As Long
Set Plage = Range("A2", Range("A65536").End(xlUp))
Ligne = 1
For Each c In Plage
If WorksheetFunction.CountIf(Range("B:B"), c.Value) > 0 Then
'c.ClearContents 'efface la valeur en A qui figure en B
c.EntireRow.Delete 'supprime la ligne du doublon B trouvée en A
'Range("C" & Ligne).Value = c.Value 'recopie en C la valeur qui est en A et B
Ligne = Ligne + 1
End If
Next c
End Sub
'ou
Sub test2()
'Compare deux colonnes de deux feuilles
Dim Plage As Range, c As Range, Ligne As Long
Set Plage = Sheets("Feuil1").Range("A2", Range("A65536").End(xlUp))
Ligne = 1
For Each c In Plage
If WorksheetFunction.CountIf(Sheets("Feuil2").Range("B:B"), c.Value) > 0 Then
c.EntireRow.Delete 'supprime la ligne du doublon B trouvée en A
'Range("C" & Ligne).Value = c.Value 'recopie en C la valeur qui est en A et B
Ligne = Ligne + 1
End If
Next c
End Sub
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
Il semblerait que nono33, ai abandonné, pour répondre aux deux questions posées qui peuvent intéresser
Le code proposé par lami20j complété pour traiter les ok
Sub suppr_lignes_condition_cellule()
Dim lg As Long, r As Long
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
lg = .Row + .Rows.Count - 1
End With
For r = lg To 1 Step -1
If Cells(r, 1) Like "*done*" Then ' cellule de la colone 1
Rows(r).Delete
End If
If Cells(r, 1) Like "*ok*" Then ' cellule de la colone 1
Rows(r).Delete
End If
Next r
Application.ScreenUpdating = True
End Sub
Le code pour la deuxième question, avec plus d'infos, il serait possible de l'écrire différemment ou supprimer des lignes
Sub test1()
'compare deuc colonnes sur la même feuille
Dim Plage As Range, c As Range, Ligne As Long
Set Plage = Range("A2", Range("A65536").End(xlUp))
Ligne = 1
For Each c In Plage
If WorksheetFunction.CountIf(Range("B:B"), c.Value) > 0 Then
'c.ClearContents 'efface la valeur en A qui figure en B
c.EntireRow.Delete 'supprime la ligne du doublon B trouvée en A
'Range("C" & Ligne).Value = c.Value 'recopie en C la valeur qui est en A et B
Ligne = Ligne + 1
End If
Next c
End Sub
'ou
Sub test2()
'Compare deux colonnes de deux feuilles
Dim Plage As Range, c As Range, Ligne As Long
Set Plage = Sheets("Feuil1").Range("A2", Range("A65536").End(xlUp))
Ligne = 1
For Each c In Plage
If WorksheetFunction.CountIf(Sheets("Feuil2").Range("B:B"), c.Value) > 0 Then
c.EntireRow.Delete 'supprime la ligne du doublon B trouvée en A
'Range("C" & Ligne).Value = c.Value 'recopie en C la valeur qui est en A et B
Ligne = Ligne + 1
End If
Next c
End Sub
A+
Mike-31
Un problème sans solution est un problème mal posé (Einstein)
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
16 oct. 2009 à 17:35
16 oct. 2009 à 17:35
Salut,
Pour macro 1
Source
https://forums.commentcamarche.net/forum/affich-12024751-macro-excel-suppression-lignes#3
https://forums.commentcamarche.net/forum/affich-2084139-vba-fonction-equivalente-a-commence-par-qu#3
Ca donne (je n'ai pas testé)
Pour macro 1
Source
https://forums.commentcamarche.net/forum/affich-12024751-macro-excel-suppression-lignes#3
https://forums.commentcamarche.net/forum/affich-2084139-vba-fonction-equivalente-a-commence-par-qu#3
Ca donne (je n'ai pas testé)
Sub suppr_lignes_condition_cellule() Dim lg as Long, r as Long Application.ScreenUpdating = False With ActiveSheet.UsedRange lg = .Row + .Rows.Count - 1 End With For r = lg To 1 Step -1 If Cells(r, 1) Like "*done*" Then ' cellule de la colone 1 Rows(r).Delete End If Next r Application.ScreenUpdating = True End Sub
Et bien merci beaucoup pour vos reponses si rapides.
Je m'escuse du retard de ma reponse mais je n'ai pas internet en dehors du travail (la vie est dure parfois :/). A vrai dire je pensais pouvoir attendre une bonne semaine avec ma demande si floue.
Tout marche a merveille apparement, mon probleme est resolu et je vous en remercie encore. :)
Je m'escuse du retard de ma reponse mais je n'ai pas internet en dehors du travail (la vie est dure parfois :/). A vrai dire je pensais pouvoir attendre une bonne semaine avec ma demande si floue.
Tout marche a merveille apparement, mon probleme est resolu et je vous en remercie encore. :)