macro récalcitrante

cococh

XLDnaute Occasionnel
Bonjour a tous, j'ai un problème avec cette macro. Je l'ai repiquée sur un autre fichier car je veux obtenir le mème travail, mais je n'arrive pas à la déchiffrer totalement. Et donc il me manque surement certaines données à completer pour la faire fonctionner ou je veux.

Le role ce cette macro est de fairre ressortir dans un tableau les éléments d'un autre tableau (qui possède un critère numérique) dont une des valeur supperieur ou infférieure à une valeur de base ( ici, c'est 2)

Serait-il possible de la décrire et la déchiffrer plus en détail?

Un grand merci d'avance.

Code:
Sub Extraction()

Sheets("Tableaux").Select

Sheets("Statistiques").Range("E13:H36").ClearContents

Lig = 13

DerLig = [H36].End(xlUp).Row

For L = 2 To DerLig

If Cells(L, 3) >2 Then

Cells(L, 3).EntireRow.Copy Destination:=Sheets("Statistiques").Cells(Lig, 1)

Lig = Lig + 1

End If

Next L

Sheets("Statistiques").Select

End Sub
 
G

Guest

Guest
Re : macro récalcitrante

Bonjour cococh,

Quelques explication en rouge se rapportant à la ligne de dessous.

Code:
Sub Extraction()
[COLOR=red]' Selection de la feuille Tableaux[/COLOR]
Sheets("Tableaux").Select

[COLOR=red]' Effacement des données de la plage E13:H36 de la feuille "Statistiques"
[/COLOR]Sheets("Statistiques").Range("E13:H36").ClearContents

Lig = 13 [COLOR=red]'Premier numéro de ligne de destination[/COLOR]

[COLOR=red]'Numéro de la dernière ligne non vide de la colonne H[/COLOR]
DerLig = [H36].End(xlUp).Row  
 
[COLOR=red]'En parant le la ligne 2 jusquà la dernière ligne non vide de la colonne H[/COLOR]
For L = 2 To DerLig

[COLOR=red]'Sil la cellule de la ligne en cours et de la colonne 3 (C) est > à 2[/COLOR]
If Cells(L, 3) >2 Then

[COLOR=red]'copier toute la ligne et la coller dans la feuille Statistiques en ligne 'Lig' et colonne 1
[/COLOR]Cells(L, 3).EntireRow.Copy Destination:=Sheets("Statistiques").Cells(Lig, 1)

[COLOR=red]'Numéro de ligne de destination suivant
[/COLOR]Lig = Lig + 1

End If [COLOR=red]'Fin de condition SI >2
[/COLOR]
Next L [COLOR=red]'Examiner la prochaine ligne[/COLOR]

[COLOR=red]'Selection de la  feuille "Statistiques"
[/COLOR]Sheets("Statistiques").Select

End Sub

En espérant que cela te permettra d'adapter à tes besoins.

A bientôt
 

cococh

XLDnaute Occasionnel
Re : macro récalcitrante

j'aurais une seconde question: Comment transformer le simple "copier/coller" dans
Code:
Cells(L, 10).EntireRow.Copy Destination:=Sheets("Statistiques").Cells(Lig, 1)
par un copier/collage spécial, valeurs.

Merci d'avance
 
G

Guest

Guest
Re : macro récalcitrante

Re:

directement cela n'est pas possible avec la méthode copy Destination:= de l'objet Range

Essaie avec ceci:

Code:
    Cells(L, 3).EntireRow.Copy 
    Sheets("Statistiques").Cells(Lig, 1).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False

A bientôt
 

Discussions similaires

Statistiques des forums

Discussions
312 927
Messages
2 093 687
Membres
105 782
dernier inscrit
obelix76