XL 2010 VBA selon 2 criteres: Critere dynamique + Plage colonne non nulle

alexanbat

XLDnaute Junior
Hello

N'ayant pas trouve la solution a ma problematique dans les differents forums sur internet, je me decide poser mon probleme.

Dans un fichier, je souhaite faire un copier/coller via VBA d'une ligne (ou plusieurs) qui se trouve(nt) dans un onglet dans un 2eme onglet selon 2 criteres:
- 1er critere: Valeur dynamique definie dans une cellule.
- 2eme critere: Si cellules dans une plage precise = non vide (Colonne H a S).​

J'ai le code VBA pour le 1ere critere mais je ne sais pas comment integrer le 2 pour obtenir le resultat escompte.

Mon VBA est le suivant:

'Copy and paste value in "Feuille 1"
Dim plage As Range, cel As Range

Application.ScreenUpdating = False
valcherch = Sheets("XX").Range("L3")
With Sheets("Feuille 1")

LastRow = .Range("G" & Rows.Count).End(xlUp).Row
Set plage = .Range("G9:G" & LastRow - 25) '=> Search the last active row in the sheet - (minus)
25 last rows (= Exluding the recap table at the end of the sheet)
End With

For Each cel In plage

If cel = valcherch Then
cel.EntireRow.Copy

Worksheets("XX").Range("A9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Selection.Insert Shift:=xlDown
End If

Next cel
Application.ScreenUpdating = True

Qu'est ce que je pourrais faire pour integrer mon critere #2 ?

>Pour mieux comprendre le sujet, le VBA et le resultat escompte, je mets un exemple en piece jointe.

Merci pour l'aide.

AL
 

Pièces jointes

  • Code VBA selon 2 criteres.xlsm
    352.6 KB · Affichages: 25

alexanbat

XLDnaute Junior
Bonjour Bebere.
Merci d'avoir pris le temps de regarder mon fichier. Cela colle parfaitement avec ce que cherchait a obtenir.

Par contre le fichier que j'ai mis en piece jointe dans mon precedent post est une version fortement simplifie pour expliquer mon cas et le resultat que je souhaitais.

Du coup il y une variable que je n'arrive pas a adapter dans mon fichier d'origine. C'est cette partie la:

a = Array("B9:B")
b = Array(9, 33, 57)

Dans mon fichier d'origine "b" (Project #) est une variable. Il peut y avoir 10 projects de comptabiliser comme il peut y en avoir 1 ou 50.

Comment devrais-je le traduire dans la macro ?

Merci encore
AL
 

Discussions similaires

Réponses
2
Affichages
116
Réponses
3
Affichages
572

Statistiques des forums

Discussions
312 167
Messages
2 085 894
Membres
103 021
dernier inscrit
Sergyl75