Question de structure et synthaxe : bonne pratique ?

Fermé
Jojos54 Messages postés 15 Date d'inscription jeudi 28 mai 2015 Statut Membre Dernière intervention 5 novembre 2015 - 29 oct. 2015 à 09:28
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 29 oct. 2015 à 10:52
Bonjour,

Je travaille depuis un moment sur un tableau où j'effectue pas mal d'opération sur des valeurs dans les colonnes de ce tableau. Aujourd'hui, je me rends compte qu'avec toutes les évolutions que subit ce tableau, j'ai du mal à ajuster mes codes pour que l'ensemble de mes maccros marche (des modifications telles que la mise en place de nouvelles colonnes, le déplacement de colonnes etc...)

Du coup avec mes maccros du type : .sheets("feuil1").cells(5,i)=userform1.controls("textbox7"), je suis obligé de tout revérifier afin d'être sûr que les bonnes données vont au bon endroit. Sur un code qui commence à faire plus de 50 pages cela commence à être fastidieux sans compter les erreurs possibles.

Bien que ces changements n'ai pas lieu tous les 4 matins le simple fait que ce soit 3 fois par an m'oblige a revalider chaque ligne de code ce qui fini par prendre un temps assez phenomenale. Ainsi, je suis à la recherche d'idée pour gérer ce "problème" d'updates

Mon idée principale, actuellement, serait de créer un petit tableau avec les noms de colonne, l'indice de colonne et à chaque démarrage fichier contrôler que tout est en ordre et via des msgbox identifier les colonnes qui aurait pu bouger cependant j'ai peur que ce soit fastidieux et que ça ralentisse considérablement le fichier.

Si vous avez des idées, je suis preneur, j'espère avoir été clair.

Merci de votre support !

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
29 oct. 2015 à 10:52
Bonjour,

Quand un document, excel ou autre, est sujet a etre modifie comme vous le citer, vous devez passer par une mise en variables du numero de colonne par rapport a son entete a chaque ouverture ou changement d'onglet pour refaire le tour des emplacement des dits colonnes ex pour un onglet:

'Modifier les lignes de code si ajout(s) ou suppression(s)
Set MFS = Worksheets("feuil1")
dercol = MFS.Cells.Find("*", , , , xlByColumns, xlPrevious).Column
For Colonne = 1 To dercol
    If MFS.Cells(1, Colonne) = "Entete 1" Then
        Col_1 = Colonne
    ElseIf MFS.Cells(1, Colonne) = "Entete 2" Then
        Col_2 = Colonne
    ElseIf MFS.Cells(1, Colonne) = "Entete 3" Then
        Col_3 = Colonne
    ElseIf MFS.Cells(1, Colonne) = "Entete 4" Then
        Col_4 = Colonne
    ElseIf MFS.Cells(1, Colonne) = "Entete 5" Then
        Col_5 = Colonne
    Else
    End If
Next Colonne


afin d'utiliser le bon numero de colonne
0