Fonction Si et transfert de données entre feuille
Bonjour,
Je suis Loïc, je suis un collectionneur de carte MAgic et donc j'ai crée un fichier excel pour référencer toute mes cartes.
Voilà le nouveau problème qui se pose:
Dans la feuille un je référence toute les cartes qui existent. je marque "1" dans une des trois colonnes "collection" si j'ai cette carte sinon un "0" apparait.
J'aimerais que 'lorsque un "0" est là, la ligne qui décris la carte complète s'incrive dans la feuille carte manquante.
Pour l'exemple:
je n'ai pas la carte "maîtrise de la bataille". J'aimerais alors que la ligne entière se copie dans "carte manquante".
Voilà alors là je n'ai vraiment aucune idée si cela existe et si oui comment faire.
Donc je remercie d'avance toute personne qui pourrais m'aider et celle qui aurons essayé.
Loïc
Bonjour,
Merci je trouve cela très impressionnant.
Par contre je ne vois pas du tout comment ça marche. Peux tu me l'expliquer s'il te plait.
Une question est ce que cela peut fonctionner pour 50 000 lignes???
merci
Re,
Des explications de la procédure, qui j'espère répondront à ton attente.
Le mieux étant que tu vois l'aide d'excel sur les filtres élaborés ou que tu consultes lien suivant:
http://boisgontierjacques.free.fr/pages_site/FiltreElabore.htm
Il y a longtemps que je n'utilise plus ce type de procédure et je ne maîtrise plus trop la chose (surtout pour les zones de critères)
Cdlt.
Option Explicit
Public Sub FiltreAuto()
'Jean-Eric
Dim sH_1 As Worksheet
Dim sH_2 As Worksheet
Dim derligne As Integer
Dim Filtre As Range
Dim Plage As Range
With Application
'On bloque l'affichage des messages d'alerte
.DisplayAlerts = False
'On gèle l'affichage
.ScreenUpdating = False
End With
'On définit le nom des feuilles
Set sH_1 = Worksheets("Collection")
Set sH_2 = Worksheets("Carte qui manque")
'----------------------------------------------------------------------------------
'On active la feuille "Carte qui manque"
sH_2.Activate
'On efface le filtre si la dernière ligne de la feuille est supérieure à 1
derligne = Range("A" & Rows.Count).End(xlUp).Row
If derligne > 1 Then
Set Filtre = Range(Cells(2, 1), Cells(derligne, 8))
Filtre.Select
Selection.Delete Shift:=xlUp
End If
'------------------------------------------------------------------
'On travaille avec la feuille "Collection"
With sH_1
'On définit la base de données de la feuille "Collection" soit A4:H305
Set Plage = .Range("A4").CurrentRegion
'On applique le filtre défini par la zonede critères _
A1:C2 de la feuille "Collection" et pour l'exemple Col. VF = 0 _
et on copie le résultat dans la feuille("Carte qui manque"
Plage.AdvancedFilter Action:= _
xlFilterCopy, CriteriaRange:=sH_1.Range("A1:C2"), _
CopyToRange:=sH_2.Range("A1:H2"), Unique:=False
Plage.AutoFilter
Range("A1").Select
End With
'------------------------------------------------------------------
With Application
'On rétablit les messages d'alerte
.DisplayAlerts = True
'On actualise l'écran
.ScreenUpdating = True
End With
End Subbonjour
un autre essai avec une "fausse matricielle"
j'ai rajouté une Mfc pour visualiser directement dans le tableau
cordialement