Comparer cellule avec plage vb
Résolu
pgillou
Messages postés
49
Date d'inscription
Statut
Membre
Dernière intervention
-
pgillou Messages postés 49 Date d'inscription Statut Membre Dernière intervention -
pgillou Messages postés 49 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Comparer cellule avec plage vb
- Vb - Télécharger - Langages
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Vb cable - Télécharger - Audio & Musique
6 réponses
Bonjour
;o)
Dim plage As Range Dim cel St plage = Range("D3:D81") '.... For Each cel In plage If cel.Value = .Cells(Lig, Col).Value Then 'blabla .. End If Next cel '....
;o)
Merci pour ta réponse écoute rien ne se passe je te donne le code complet:
Sub REGROUPB()
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long
Sheets("REGROUP B").Activate 'feuille de destination
NumLig = 0
Col = "B" ' colonne feuille source à parcourir
NumLig = 0
With Sheets("carnet de dep a") ' feuille source
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If Application.CountIf(Range("D3:D81"), Cells(Lig, Col)) Then
.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Cells(NumLig + 127, 2).Select
ActiveSheet.Paste Link:=True
End If
Next
End With
End Sub
Merci de ton aide!
Sub REGROUPB()
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long
Sheets("REGROUP B").Activate 'feuille de destination
NumLig = 0
Col = "B" ' colonne feuille source à parcourir
NumLig = 0
With Sheets("carnet de dep a") ' feuille source
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If Application.CountIf(Range("D3:D81"), Cells(Lig, Col)) Then
.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Cells(NumLig + 127, 2).Select
ActiveSheet.Paste Link:=True
End If
Next
End With
End Sub
Merci de ton aide!
Dans ta demande, on ne savait pas que ta ligne était dans with -end with
donc
et d'autre part, j'aurais plutôt mis col=2 que "B" (ce n'est pas obligatoire)
ensuite tu copies une ligne entière
.Cells(Lig, Col).EntireRow.Copy
sur une zone commençant colonne 2...
Cells(NumLig + 127, 2).Select
enfin "numlig" semble inutile, tu pourrais le remplacer par "lig"
donc
If Application.CountIf(.Range("D3:D81"), .Cells(Lig, Col)) Then
et d'autre part, j'aurais plutôt mis col=2 que "B" (ce n'est pas obligatoire)
ensuite tu copies une ligne entière
.Cells(Lig, Col).EntireRow.Copy
sur une zone commençant colonne 2...
Cells(NumLig + 127, 2).Select
enfin "numlig" semble inutile, tu pourrais le remplacer par "lig"
Je te remercie ,je teste mais toujours pas de résultat le décalage de colonne est voulu je prend compte de tes remarques.
C'est vraiment cette ligne qui pose problème il faut que je trouve pour l'appliquer à une plage une idée?
If .Cells(Lig, Col).Value = Range("D121").Value Then
Merci
C'est vraiment cette ligne qui pose problème il faut que je trouve pour l'appliquer à une plage une idée?
If .Cells(Lig, Col).Value = Range("D121").Value Then
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Désolé d'abuser mais ca ne fonctionne pas n'ya til pas une fontion à ton connaissance permettant de dire:
Si .Cells(Lig, Col).Value est égal à une des valeurs de la plage alors copier ligne.
Merci
Si .Cells(Lig, Col).Value est égal à une des valeurs de la plage alors copier ligne.
Merci
Dire que ça ne fonctionne pas ou "toujours pas de résultats" est un peu court ...
Je n'ai pas pris l'option "don divinatoire" dans mon cursus...
Je t'ai donné une façon différente de michel pour parcourir une plage, à toi de l'adapter.
Tout comme la proposition de michel qui curieusement fonctionne quand elle est bien appliquée.
Je n'ai pas pris l'option "don divinatoire" dans mon cursus...
Je t'ai donné une façon différente de michel pour parcourir une plage, à toi de l'adapter.
Tout comme la proposition de michel qui curieusement fonctionne quand elle est bien appliquée.
ça devient un linchage collectif je débute en programmation donc je mais pas mal de temps à adapter le code c'est dans le cadre professionnel donc je n'ai pas tout mon temps non plus donc j'essaye de faire au plus vite. J'ai réussi au final avec ton code Polux31 et aucun moment je n'ai remis en doute vos compétences à tous les deux. Maintenant si vous êtes sentis froissez mes plates escuses.
Merci et bon week end à tous les deux :)
Merci et bon week end à tous les deux :)