Bonjour,
Je sollicite votre aide sur une difficulté au niveau du codage VBA. Je vais joindre le fichier et le code mais j'explique ce que je tente de réaliser. J'ai un tableau (onglet "revue contrat") où sont répertorier des types d'essai. Je souhaiterais, qu'une boucle parcours la colonne nommé A2 (K) jusqu'à A17 (AA) afin de trouver si la valeur "x" existe. Tout cela, dans la ligne indiquée par la cellule active.
Ensuite, si la boucle trouve l'élément "x", je souhaite copier le nom du type d'essai, autrement dit, copier la valeur de la ligne numéro 2.
Je souhaite que le nom du type d'essai soit copié sur l'onglet "étiquette" dans la plage B8 à D8. Sachant que trois "x" maximum peuvent être repérés et donc trois types d'essai recopiés.
Je souhaite également que si la colonne AB (onglet "revue contrat") n'est pas vide, que la valeur soit recopié sur la cellule B9 de l'onglet étiquette.
Pourriez vous m'aider sur le code déjà réalisé svp.
En vous remerciant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 Sub étiquette() ' ' ' Récupération de la ligne sélectionnée iligne = ActiveCell.Row J = ActiveCell.Column ' Identification des colonnes importantes itypeessai = 11 itypeessai2 = 27 itypeessai3 = 28 Dim myRange As Range Dim cell As Range Set myRange = Range(Cells(iligne, itypeessai), Cells(iligne, itypeessai2)) For Each cell In myRange If cell.Value = "x" Then Sheets("étiquette").Range("D8:D8").ClearContents Sheets("étiquette").Range("B9").ClearContents cell.End(xlUp).Offset(1, 0).Copy Sheets("étiquette").Range("A8").End(xlToRight).Offset(1, 0).Paste End If Next Dim myRange2 As Range Set myRange2 = Cells(iligne, itypeessai3) If myRange2.Value <> "" Then myRange2.Value.Copy Sheets("étiquette").Range("B9").Paste End If End Sub
Partager