Bonjour à tous,
J'ai créé un fichier permettant de rechercher et de sélectionner des lignes de références pour les insérer dans un tableau.
Le débutant que je suis utilise cette méthode (voir ci-dessous) mais j'ai le sentiment qu'il y a plus simple et moins gourmand en ressources. Le but étant, vous l'aurez compris, de copier des cellules non conjointes vers une même ligne (la première ligne dispo).
Ce code fonctionne mais je suis à l'écoute de toute solution qui serait plus... académique !
Merci.
J'ai créé un fichier permettant de rechercher et de sélectionner des lignes de références pour les insérer dans un tableau.
Le débutant que je suis utilise cette méthode (voir ci-dessous) mais j'ai le sentiment qu'il y a plus simple et moins gourmand en ressources. Le but étant, vous l'aurez compris, de copier des cellules non conjointes vers une même ligne (la première ligne dispo).
VB:
Sub ajouter()
ActiveSheet.Unprotect "MotDePasse"
If Application.IsNA(Range("N7").Value) Then
MsgBox ("Veuillez sélectionner des caractéristiques valides !")
Exit Sub
End If
If Range("N7") = "Indisponible" Then
MsgBox ("Les caractéristiques sélectionnées ne correspondent à aucun disjoncteur !")
Exit Sub
End If
If Range("D4") <> "" And Range("D7") <> "" And Range("F7") <> "" And Range("H7") <> "" And Range("J7") <> "" And Range("L7") <> "" And Range("N7") <> "Indisponible" Then
Range("D4").Copy
Sheets("Choix").Range("S" & Range("S" & Rows.Count).End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues
Range("D7").Copy
Sheets("Choix").Range("T" & Range("S" & Rows.Count).End(xlUp).Row + 0).PasteSpecial Paste:=xlPasteValues
Range("F7").Copy
Sheets("Choix").Range("U" & Range("S" & Rows.Count).End(xlUp).Row + 0).PasteSpecial Paste:=xlPasteValues
Range("H7").Copy
Sheets("Choix").Range("V" & Range("S" & Rows.Count).End(xlUp).Row + 0).PasteSpecial Paste:=xlPasteValues
Range("J7").Copy
Sheets("Choix").Range("W" & Range("S" & Rows.Count).End(xlUp).Row + 0).PasteSpecial Paste:=xlPasteValues
Range("L7").Copy
Sheets("Choix").Range("X" & Range("S" & Rows.Count).End(xlUp).Row + 0).PasteSpecial Paste:=xlPasteValues
Range("N7").Copy
Sheets("Choix").Range("Y" & Range("S" & Rows.Count).End(xlUp).Row + 0).PasteSpecial Paste:=xlPasteValues
Else
MsgBox ("Veuillez sélectionner des caractéristiques valides !")
End If
ActiveSheet.Protect "MotDePasse"
End Sub
Ce code fonctionne mais je suis à l'écoute de toute solution qui serait plus... académique !
Merci.