Macro excel, association d'élément

Résolu/Fermé
shishumi - 2 mai 2008 à 11:14
 shishumi - 2 mai 2008 à 14:59
Bonjour,

Voila j'ai un petit problème,
J'ai deux parties d'un tableau (ces deux parties contiennent des noms et des dates) que je récupère dans un autre et qu'ensuite je copy dans une autre feuille.
voila ma questions :
comment peut-on associer les noms et les dates ensemble comme dans l'autre tableau.

voici le code :

Sub filtre()
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long

Sheets("Alert").Activate ' feuille de destination

Col = "i" ' colonne données non vides à tester'
NumLig = 2 ' alors là ca doit etre le N° de la 1er ligne de données en comptant la ligne 1 = 0 .... ? '
With Sheets("PAR CENTRE") ' feuille source'
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, 4).Value <> "" Then
.Cells(Lig, 4).Copy

Sheets("Alert").Cells(NumLig, 2).Insert Shift:=xlDown 'ici pour insérer ou .Paste pour coller'
End If
If IsDate(.Cells(Lig, 12).Value) Then
.Cells(Lig, 12).Copy

Sheets("Alert").Cells(NumLig, 3).Insert Shift:=xlDown 'ici pour insérer ou .Paste pour coller'
End If
Next
End With

en vous remerciant pour votre aide.
A voir également:

3 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 717
2 mai 2008 à 11:49
bonjour

essaies avec ces modifications commentées
Sub filtre()
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long

Sheets("Alert").Activate ' feuille de destination

Col = "I" ' colonne données non vides à tester' en majuscule !!!
NumLig = 2 ' alors là ca doit etre le N° de la 1er ligne de données en comptant la ligne 1 = 0 .... ? '
With Sheets("PAR CENTRE") ' feuille source'
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, 4).Value <> "" Then
'.Cells(Lig, 4).Copy inutile

Sheets("Alert").Cells(NumLig, 2).Resize(1, 2).Insert Shift:=xlDown
        ' les 2 colonnes sont décalées pour rester cohérent
Sheets("Alert").Cells(NumLig, 2) = .Cells(Lig, 4) 
End If
If IsDate(.Cells(Lig, 12).Value) Then
'.Cells(Lig, 12).Copy inutile


'Sheets("Alert").Cells(NumLig, 3).Insert Shift:=xlDown ' inutile

Sheets("Alert").Cells(NumLig, 3) = .Cells(Lig, 12)
End If
Next Lig
End With
End Sub
1
merci pour ta réponse
le code marche pour l'association mais il me change mes données date en chiffre comme 35968 c bizar.
tu n'aurais une solution.
0
c bon g trouver j'avait un problème de format dans ma cellule

merci.
0