Usine à gaz
XLDnaute Barbatruc
Bonjour à tous et à toutes
J'avais un soucis (comme d'hab) et camachepas (que je salue au passage) a eu la gentillesse de me donner un code que j'ai réussi (exploit LOL) à faire marcher.
Concernant ce code qui donc fonctionne super, j'ai un autre problème à vous soumettre.
En premier lieu, voici une partie du code :
Comme vous le voyez, chaque ligne contient le même code, seuls changent les numéros de ligne et la ligne de la cellule : M
If .Cells(3, 2) et Range("M3")
If .Cells(4, 2) et Range("M4")
If .Cells(5, 2) et Range("M5") etc... et j'en ai jusqu'à 50 comme ça et ça augmente chaque jour ... donc, j'ajoute des lignes de code à chaque fois et ça devient long.
dans ma feuille "données", j'ai des plages nommées et l'idéal, je pense serait qu'au lieu d'avoir une ligne de code par ligne de la feuille données, la macro recherche "Sheets("Facture").Cells(1, 1)" dans la plage à laquelle j'ai donné le nom : "ClientsNo"
Mais voila, comme d'habitude, je me casse la tête et comme je suis toujours nul (un peu moins grâce à vous) .... je ne trouve pas.
En espérant m'être exprimé de manière compréhensible ......
Pourriez-vous m'aider ?
Un grand merci,
Amicalement,
Caliméro,
J'avais un soucis (comme d'hab) et camachepas (que je salue au passage) a eu la gentillesse de me donner un code que j'ai réussi (exploit LOL) à faire marcher.
Concernant ce code qui donc fonctionne super, j'ai un autre problème à vous soumettre.
En premier lieu, voici une partie du code :
Code:
Sub RdVgratuits()
With Sheets("Données")
If .Cells(3, 2) = Sheets("Facture").Cells(1, 1) Then .Range("M3") = Sheets("Facture").Range("AK72")
If .Cells(4, 2) = Sheets("Facture").Cells(1, 1) Then .Range("M4") = Sheets("Facture").Range("Ak72")
If .Cells(5, 2) = Sheets("Facture").Cells(1, 1) Then .Range("M5") = Sheets("Facture").Range("Ak72")
If .Cells(6, 2) = Sheets("Facture").Cells(1, 1) Then .Range("M6") = Sheets("Facture").Range("Ak72")
If .Cells(7, 2) = Sheets("Facture").Cells(1, 1) Then .Range("M7") = Sheets("Facture").Range("Ak72")
If .Cells(8, 2) = Sheets("Facture").Cells(1, 1) Then .Range("M8") = Sheets("Facture").Range("Ak72")
If .Cells(9, 2) = Sheets("Facture").Cells(1, 1) Then .Range("M9") = Sheets("Facture").Range("Ak72")
If .Cells(10, 2) = Sheets("Facture").Cells(1, 1) Then .Range("M10") = Sheets("Facture").Range("Ak72")
End With
End Sub
Comme vous le voyez, chaque ligne contient le même code, seuls changent les numéros de ligne et la ligne de la cellule : M
If .Cells(3, 2) et Range("M3")
If .Cells(4, 2) et Range("M4")
If .Cells(5, 2) et Range("M5") etc... et j'en ai jusqu'à 50 comme ça et ça augmente chaque jour ... donc, j'ajoute des lignes de code à chaque fois et ça devient long.
dans ma feuille "données", j'ai des plages nommées et l'idéal, je pense serait qu'au lieu d'avoir une ligne de code par ligne de la feuille données, la macro recherche "Sheets("Facture").Cells(1, 1)" dans la plage à laquelle j'ai donné le nom : "ClientsNo"
Mais voila, comme d'habitude, je me casse la tête et comme je suis toujours nul (un peu moins grâce à vous) .... je ne trouve pas.
En espérant m'être exprimé de manière compréhensible ......
Pourriez-vous m'aider ?
Un grand merci,
Amicalement,
Caliméro,
Dernière édition: