tithom_82
Habitué
Bonjour,
Je commence à m’intéresser à VBA pour mon travail, et comme je débute je ne comprends pas tout !
J’ai regardé dans différents sujets et j’ai trouvé des choses qui se rapprochent de ce que je veux faire. j'écris donc mon premier programme VBA!!
je me suis basé sur ce sujet http://www.presence-pc.com/forum/id-2105597/extraire-donnees-plusieurs-feuilles-conditions-vers-feuille.html (et grâce aux explications de zeb, j'ai grandement progressé!!) Il se rapproche un peu... actuellement je bloque sur la concaténation de cellule, je m'explique: dans mon 2éme If je voudrais insérer une concaténation de nom de site utilisé en fonction de la valeur... sur l'image on comprend mieux!!
Je n'ai aucune idée de comment faire...
Ci dessous mon code qui pour le moment ne fait "que" copier des données en fonction de valeur.
D'ailleurs je n'arrive pas à intégrer ce code http://www.presence-pc.com/forum/ppc/Programmation/tutoriel-excel-macro-trucs-astuces-sujet-4953-1.htm#8248701qui permettrait d’être plus propre et de faire une mise en page correcte (ligne de tableau par exemple.)
Merci beaucoup pour votre aide!!
Guillaume
Je commence à m’intéresser à VBA pour mon travail, et comme je débute je ne comprends pas tout !
J’ai regardé dans différents sujets et j’ai trouvé des choses qui se rapprochent de ce que je veux faire. j'écris donc mon premier programme VBA!!
je me suis basé sur ce sujet http://www.presence-pc.com/forum/id-2105597/extraire-donnees-plusieurs-feuilles-conditions-vers-feuille.html (et grâce aux explications de zeb, j'ai grandement progressé!!) Il se rapproche un peu... actuellement je bloque sur la concaténation de cellule, je m'explique: dans mon 2éme If je voudrais insérer une concaténation de nom de site utilisé en fonction de la valeur... sur l'image on comprend mieux!!
Vous devez être connecté pour voir les images.
Je n'ai aucune idée de comment faire...
Ci dessous mon code qui pour le moment ne fait "que" copier des données en fonction de valeur.
D'ailleurs je n'arrive pas à intégrer ce code http://www.presence-pc.com/forum/ppc/Programmation/tutoriel-excel-macro-trucs-astuces-sujet-4953-1.htm#8248701qui permettrait d’être plus propre et de faire une mise en page correcte (ligne de tableau par exemple.)
Code:
Sub Macro_recrutement()
'
' // Préparation
Dim f_re As Worksheet ' // Feuille recrutement
Dim f_dest As Worksheet ' // Feuille destination
Dim f_dest1 As Worksheet ' // Feuille destination
Dim f_dest2 As Worksheet ' // Feuille destination
Set f_re = Worksheets("Recrutement")
Set f_dest = Worksheets("Formation du recruté ")
Set f_dest1 = Worksheets("Sites utilisés et nbre candid")
Set f_dest2 = Worksheets("Feuil1")
f_dest.Rows("5:500").Delete ' //Je sais que ce n'est pas propre mais je n'arrive pas à le faire par le code...
Dim cible As Range
Set cible = f_dest.Range("A5")
Dim cible1 As Range
Set cible1 = f_dest1.Range("A4")
Dim cible2 As Range
Set cible2 = f_dest2.Range("A4")
Dim ligne As Range
Dim acopier As Range
' // Début
For Each ligne In f_re.Rows("6:500")
If ligne.Cells(35).Value Like "RETENU" Then
Set acopier = Union(ligne.Cells(36), ligne.Cells(29), ligne.Cells(5))
acopier.Copy Destination:=cible
Set cible = cible.Offset(1)
With f_dest.Rows("5:500")
.Borders(xlDiagonalDown).LineStyle = xlNone 'il faut mettre xlCOntinuous pour faire un trait
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
.Interior.ColorIndex = xlNone
.Font.Bold = False
.Font.Color = vbBlack
End With
End If
If ligne.Cells(24).Value <> "" Then
Set acopier = Union(ligne.Cells(5), ligne.Cells(10), ligne.Cells(24))
acopier.Copy Destination:=cible1
Set cible1 = cible1.Offset(1)
With f_dest1.Rows("4:500")
.Borders(xlDiagonalDown).LineStyle = xlNone 'il faut mettre xlCOntinuous pour faire un trait
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
.Interior.ColorIndex = xlNone
.Font.Bold = False
.Font.Color = vbBlack
End With
End If
Next
Sheets("Feuil1").Select
Range("A1").Select
End Sub
Merci beaucoup pour votre aide!!
Guillaume