Tri alpha sans vide, Copier/Coller (VBA)

Bonjour à tous,

J'aurais besoin d'aide concernant quelques formules que je n'arrive pas à écrire.

Je joints une trame vierge histoire de se faire une idée.

J'aimerais effectuer ce qui suit par une seule macro :

Dans la colonne F à partir de F6, copier/coller les noms d'achats de la colonne C avec plusieurs critères :

(Prenons i, avec Dim i as long et For i = 6 to FinalRow)

  • De la ligne C6 à la dernière ligne non vide : FinalRow = Range("C1000").End(xlUp).Row donc ça c'est ok
  • Si Ai = "CATEGORIEL" ou Ai = "LS" alors Fi = Ci et Ei = la valeur catégorie à côté du nom d'achat de la colonne B (recherchev ?)
  • Après je voudrais trier par ordre alphabétique cette liste en n'incluant pas les vides (à cause des pièces appartenant à la catégorie trad)
J'ai essayé la formule = INDEX mais sans succès.

Après je ferai pareil pour le TRAD.

Une fois cette démarche écrite, il faudrait que je copie toutes les valeurs non vides des colonnes B et C (de 6 à FinalRow donc)

sur une autre feuille.

Cependant cela fonctionne chez moi pour les colonnes B et C mais pas pour les autres.

Donc je demande votre aide.

Sub COPIERCOLLERPIECES()

    'Macro avec les formules SI...

    'Macro avec les formules pour copier coller

    Sheets("PIECES POUR ACHATS").Select
    x1 = Range("C1000").End(xlUp).Row
    Range(Cells(6, "B"), Cells(x1, "C")).Select
    Selection.Copy
    Sheets("RECAPACHATS").Select
    ActiveWindow.SmallScroll Down:=-18
    Range("BC6").Select
    Range("BC6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

    Sheets("PIECES POUR ACHATS").Select
    x2 = Range("F1000").End(xlUp).Row
    Range(Cells(6, "E"), Cells(x2, "F")).Select
    Selection.Copy
    Sheets("RECAPACHATS").Select
    Range("BE6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

    Sheets("PIECES POUR ACHATS").Select
    x3 = Range("I1000").End(xlUp).Row
    Range(Cells(6, "H"), Cells(x3, "I")).Select
    Selection.Copy
    Sheets("RECAPACHATS").Select
    Range("BG6").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

    Sheets("PIECES POUR ACHATS").Select
    Cells(1, 1).Select

End Sub

Je dis un grand merci à toutes les personnes qui pourront m'aider!

Cordialement

Rechercher des sujets similaires à "tri alpha vide copier coller vba"