Copier coller en fonction d'un critère

Aïe mon code fonctionne partiellement pour le copier coller en fonction de différent d'une cellule vide. Il ne copie que 54 lignes sur plus de 900. pouvez vous m'aider merci.

merci

Salut,

Tu lances une idée et lorsque j'y donne suite par des questions, tu n'y réponds pas

Tu as 3 macros dans ton fichier, de laquelle parles-tu précisément ? Comment lances-tu cette macro ? Par un bouton sur une feuille ? D'une autre manière ?

Si tu la lances "manuellement" par l'intermédiaire de l'explorer VBA, sur quelle feuille se trouve ton fichier à ce moment-là ?

A te relire.

Merci pour ton aide.

La formule se trouve sur le module.2. Elle copie les données de la page sap colonnes AA a AG. Et les verse dans la feuille imputation. Le critere de déversement. Cest que la cellule de la colonne AF est non vide.

Re,

J'ai découvert sur ton fichier quelque chose que je n'avais jamais vu et que je n'ai pas réussi à contourner Tu as des lignes masquées que je n’arrive pas à ouvrir (par exemple les lignes 644, 657 à 659, 893 sur la feuille SAP et 55 à 57 sur la feuille Imputation).

Je présume qu’il y a des cellules vides dans les lignes masquées de la feuille SAP qui font que la macro est bloquée à un certain moment donné (lorsque la condition Do While ActiveCell <> "" est vérifiée) ????

Sais-tu ouvrir ces lignes ?

Cordialement.

Non pas du tout. d'ailleurs tu m'apprends quelque chose.

En plus je ne peux plus ouvrir ce fichier. il a l'air d'être endommagé.... je vais devoir tout recommencer depuis 0....

Du coup j'ai recommencé le fichier.

Est ce qu evou spourriez m'aider à ajouter un critère dans ce code qui me remonte les cellules qui ne sont pas vides.

Je voudrais ajouter les cellules qui contiennent un "0".

Merci

Option Explicit

Sub OD()

Dim l_sap, l_imp, col_aa, col_af, i As Integer

Dim cellue

l_sap = 2

l_imp = 2

col_aa = 27

col_af = 32

Worksheets("Imputation").Select

Range("B2:H" & Rows.Count).ClearContents

Cells(l_imp, 1) = "OUI"

'

While Worksheets("SAP").Cells(l_sap, col_aa) <> "" Or "0"

cellue = Worksheets("SAP").Cells(l_sap, col_af)

If cellue <> "" Then

Cells(l_imp, 1).Select

Selection.Copy

Cells(l_imp + 1, 1).Select

ActiveSheet.Paste

Cells(l_imp, 1) = "OUI"

For i = 0 To 6

Cells(l_imp, i + 2) = Worksheets("SAP").Cells(l_sap, col_aa + i)

Next i

l_imp = l_imp + 1

End If

l_sap = l_sap + 1

Wend

Cells(l_imp, 1) = ""

End Sub

Tu demandes des codes puis tu pars dans des directions diamétralement opposées, tu ne fournis pas de fichiers avec tes macros, tu modifies tes fichiers en cours de route

Désolé, j'abandonne

Mon conseil : indique ce fil comme "Résolu" et recommences-en un autre plus propre.

Cordialement.

Rechercher des sujets similaires à "copier coller fonction critere"