Bonjour à tous,
J'utilise actuellement une macro qui me permet de faire une mise en page suivant les valeurs d'une plage de cellules.
Petite explication, suivant les références que je saisi en feuille Général, F24 à F49.
1) Je crée un tableau en feuille essai. Pour cela je copie les tableaux pré-créés en feuille Ttype suivant leurs références. La macro que j'utilise me permet d'éditer mes tableaux sans modifier le moindre code.
2) Je copie le nom attribué à la référence en colonne F de la feuille général.
Aujourd'hui, je voudrais ajouter une fonction avant ces deux commandes.
J'aimerais renseigner les références OP* de la colonne C feuille Général dans la feuille Ttype.
Par exemple, pour la première ligne, je voudrais copier C24 de la feuille général et coller cette valeur en D26 28 de la feuille Ttype.
Pour la seconde ligne, copier C25 de la feuille général, coller en D32 33 de la feuille Ttype.
Etc...
Bien attendu les références seront bien plus nombreuses ainsi que les tableaux types. les références peuvent aussi être dans un ordre différent.
Pour l'instant j'ai tenté d'écrire des lignes complémentaires mais sans succès :
Pouvez vous m'aider SVP ?
Merci
J'utilise actuellement une macro qui me permet de faire une mise en page suivant les valeurs d'une plage de cellules.
Sub creation()
Dim i As Integer
Dim nomrech As String, cellule As Range
For i = 24 To 49
If Cells(i, 6) <> "" Then
nomrech = Cells(i, 6)
Set cellule = Sheets("Ttype").Range("C25:C65536").Find(nomrech)
If cellule Is Nothing Then
MsgBox "Erreur lors de la recherche.", vbCritical, "Erreur d'opération"
Else
'Renseigne le numéro d'opération
' Sheets("Général").Cells(i, 3).Copy
' Sheets("Ttype").Range(cellule.Offset(0, 9)).Select
' ActiveSheet.Paste
'Détermine la nouvelle ligne vide et copie le tableau
NextRow = Sheets("essai").Range("D65536").End(xlUp).Row + 2
Sheets("Ttype").Range(cellule.Offset(0, 9)).Copy
Sheets("essai").Cells(NextRow, 2).Insert
'Copie le nom de l'opération
Sheets("essai").Range("B65536").End(xlUp).Copy
Sheets("Général").Cells(i, 8).Select
ActiveSheet.Paste
End If
Set cellule = Nothing
End If
Next i
End Sub
Petite explication, suivant les références que je saisi en feuille Général, F24 à F49.
1) Je crée un tableau en feuille essai. Pour cela je copie les tableaux pré-créés en feuille Ttype suivant leurs références. La macro que j'utilise me permet d'éditer mes tableaux sans modifier le moindre code.
2) Je copie le nom attribué à la référence en colonne F de la feuille général.
Aujourd'hui, je voudrais ajouter une fonction avant ces deux commandes.
J'aimerais renseigner les références OP* de la colonne C feuille Général dans la feuille Ttype.
Par exemple, pour la première ligne, je voudrais copier C24 de la feuille général et coller cette valeur en D26
Pour la seconde ligne, copier C25 de la feuille général, coller en D32
Etc...
Bien attendu les références seront bien plus nombreuses ainsi que les tableaux types. les références peuvent aussi être dans un ordre différent.
Pour l'instant j'ai tenté d'écrire des lignes complémentaires mais sans succès :
''Renseigne le numéro d'opération
' Sheets("Général").Cells(i, 3).Copy
' Sheets("Ttype").Range(cellule.Offset(0, 9)).Select
' ActiveSheet.Paste
Pouvez vous m'aider SVP ?
Merci
Pièces jointes
Dernière édition: