Fonction Recherche sur une plage de données - VB/VBA/VBS - Programmation
Marsh Posté le 26-04-2011 à 17:00:42
Salut,Balise ton code : Clic icône Editer le message puis sélection du code et clic sur icône Fixe
Marsh Posté le 26-04-2011 à 17:31:28
Salut,
pas trés doué, tu le fais à partir d'explorer ou du vba sous excel
merci de ton aide
Marsh Posté le 26-04-2011 à 18:51:57
re,les 2 mon colonel via SmartIndenter sous VBA puis ici
dans le cas d'une réponse en cliquant sur Ajouter une réponse en bas à gauche
sinon en se logant puis en editant le message ( 2 eme icône à partir de la gauche )
Marsh Posté le 26-04-2011 à 19:09:11
Effectivement, merci
sinon j'ai trouvé une solution que je partage et qui peut être surement améliorer :
Sub ClassActiv()
Dim s As String, i As Integer, p As Integer, LastRow As Long
LastRow = Sheets("Importation_Données" ).Range("B" & Rows.Count).End(xlUp).Row
i = 3
p = 3
Range("E2" ).Select
For p = 3 To LastRow
If Sheets("Importation_Données" ).Range("E" & i).Value <> "" Then
Range("F" & i) = Range("E" & i)
i = i + 1
Range("E" & i).Select
Else
s = (Application.WorksheetFunction.VLookup(Sheets("Importation_Données" ).Range("D" & i), Sheets("Tables" ).Range("D3:E12" ), 2))
Range("F" & i).Select
Selection.Value = s
i = i + 1
Range("D" & i).Select
End If
Next p
End Sub
Merci pour votre aide
Marsh Posté le 26-04-2011 à 19:18:14
re,visiblemnt ce n'est pas encore cela
Sub ClassActiv() |
essaye d'éviter les select ( ralentissent l'éxécution code ) et sont souvent inutiles
Range("F" & i)..Value = s |
Marsh Posté le 26-04-2011 à 15:41:39
Bonjour,
mon objectif est de réaliser une macro (Excel) qui en fonction de l'intitulé du "Libellé Projet" indique dans la colonne "Activité-1" sa nature avec
1/ Une table de référence
Congés cadre Congés
Congés payés Congés
Maladie Maladie
JRTT Congés
2/et si le libellé projet n'existe pas dans la table, il faut reprendre le nom du champ comme dans l'exemple ci-dessous (voir la colonne Activité-1)
Libellé Projet Activité Activité-1
Congés cadre Congés
Gestion des risques Missions Gestion des risques
Autres travaux d'audit Autres travaux Autres travaux d'audit
Congés cadre Congés
JRTT Congés
Maladie Maladie
Autres travaux Autres travaux Autres travaux
Voila pour le moment ce que j'ai réalisé mais cela plante
Sub ClassActiv1()
Dim s As String, t As Variant, i As Integer, p As Integer, LastRow As Long
LastRow = Sheets("Importation_Données" ).Range("B" & Rows.Count).End(xlUp).Row
t = Sheets("Projet" ).Range("A3:A12" )
i = 3
p = 3
Range("F3" ).Select
For p = 3 To LastRow
If (("D" & i) <> "" ) Then
'If (("D" & i) = t) Then BUG ?
s = Application.WorksheetFunction.VLookup(Sheets("Importation_Données" ).Range("D" & i), Sheets("Projet" ).Range("A3:B12" ), 2, False)
Selection.Value = s
i = i + 1
Range("F" & i).Select
End If
'End If
Next p
MsgBox ("Traitement terminé" )
End Sub
Merci de votre aide