A voir également:
- Copier avec condition VBA
- Excel cellule couleur si condition texte - Guide
- Comment copier une vidéo youtube - Guide
- Super copier - Télécharger - Gestion de fichiers
- Copier texte pdf - Guide
- Copier disque dur - Guide
3 réponses
via55
Messages postés
14507
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
31 décembre 2024
2 738
12 juil. 2018 à 16:15
12 juil. 2018 à 16:15
Bonjour Lucieaup
Une possibilité :
Cdlmnt
Via
Une possibilité :
Dim Ligne As Long Ligne = Sheets("Feuil1"). Columns(24).Find("*", , , , xlByColumns, xlPrevious).Row ' derniere ligne remplie col X For n= 2 to Ligne ' boucle sur lignes depuis la 2eme jusqu'à la dernière If Sheets("Feuil1").range("X" & n) <> Sheets("Feuil1").range("AC" & n) then '' si valeurs différentes en X et AC x=x+1 Sheets("Feuil2").Range("A") & x = Sheets("Feuil1").range("X" & n) 'place valeur en col A de feuil2 End If Next
Cdlmnt
Via
Bonjour,
Merci pour votre réponse, j'ai essayé mais ca ne fonctionne pas. De plus si je comprend bien votre code il teste que la valeur de X2 par exemple ne soit pas égale à AC 2, hors je voudrais qu'il t'este toute la colonne car cette valeur pourrait être ailleurs.
Je vous ai mis mon fichier en pièce jointe, il y a d'autres macros c'est la dernière dont on parle.
https://www.cjoint.com/c/HGmoJx0661H
merci
Merci pour votre réponse, j'ai essayé mais ca ne fonctionne pas. De plus si je comprend bien votre code il teste que la valeur de X2 par exemple ne soit pas égale à AC 2, hors je voudrais qu'il t'este toute la colonne car cette valeur pourrait être ailleurs.
Je vous ai mis mon fichier en pièce jointe, il y a d'autres macros c'est la dernière dont on parle.
https://www.cjoint.com/c/HGmoJx0661H
merci
via55
Messages postés
14507
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
31 décembre 2024
2 738
12 juil. 2018 à 17:07
12 juil. 2018 à 17:07
Dans ce cas il faut passer par un NB.SI
Sub finalbatch()
x = 3
Dim Ligne As Long
Ligne = Sheets("ZPOCL").Columns(24).Find("*", , , , xlByColumns, xlPrevious).Row ' derniere ligne remplie col X
For n = 2 To Ligne ' boucle sur lignes depuis la 2eme jusqu'à la dernière
If Application.WorksheetFunction.CountIf(Sheets("ZPOCL").Range("AC:AC"), Sheets("ZPOCL").Range("X" & n)) = 0 Then ' si valeurs n'existe pas dans AC
x = x + 1
Sheets("Database").Range("A" & x) = Sheets("ZPOCL").Range("X" & n) 'place valeur en col A de feuil2
End If
Next
End Sub
Sub finalbatch()
x = 3
Dim Ligne As Long
Ligne = Sheets("ZPOCL").Columns(24).Find("*", , , , xlByColumns, xlPrevious).Row ' derniere ligne remplie col X
For n = 2 To Ligne ' boucle sur lignes depuis la 2eme jusqu'à la dernière
If Application.WorksheetFunction.CountIf(Sheets("ZPOCL").Range("AC:AC"), Sheets("ZPOCL").Range("X" & n)) = 0 Then ' si valeurs n'existe pas dans AC
x = x + 1
Sheets("Database").Range("A" & x) = Sheets("ZPOCL").Range("X" & n) 'place valeur en col A de feuil2
End If
Next
End Sub
via55
Messages postés
14507
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
31 décembre 2024
2 738
13 juil. 2018 à 14:36
13 juil. 2018 à 14:36
Bonjour
C'est que tu dois avoir des vides dans ta colonne X, alors complète le IF ainsi :
If Application.WorksheetFunction.CountIf(Sheets("ZPOCL").Range("AC:AC"), Sheets("ZPOCL").Range("X" & n)) = 0 And Sheets("ZPOCL").Range("X" & n) <>"" Then
Cdlmnt
Via
C'est que tu dois avoir des vides dans ta colonne X, alors complète le IF ainsi :
If Application.WorksheetFunction.CountIf(Sheets("ZPOCL").Range("AC:AC"), Sheets("ZPOCL").Range("X" & n)) = 0 And Sheets("ZPOCL").Range("X" & n) <>"" Then
Cdlmnt
Via