Conséquences dans macro d'insertion de colonnes dans Excel

Astyanax

XLDnaute Occasionnel
[Résolu] Conséquences dans macro d'insertion de colonnes dans Excel

Bonjour à tout le forum,
j'ai mis au point une macro qui fonctionne + ou - bien mais qui me satisfait (presque).
Mais le sujet n'est pas là.

Mon problème est que après mise au point du programme, j'ai inséré des colonnes dans tableau Excel que ma macro doit traiter et bien sur, la macro ne se retrouve plus et me provoque des décalages.
J'ai corrigé le défaut mais je pense que mon problème vient de ma programmation qui met en dur dans le programme les références ligne/colonne.

Je vous remercie de m'indiquer comment traiter ce problème à la création du programme afin que l'insertion ultérieure de lignes et de colonnes ne vienne dérégler son fonctionnement.
Je vous souhaite une excellente semaine
Astyanax
 
Dernière édition:

porcinet82

XLDnaute Barbatruc
Re : Conséquences dans macro d'insertion de colonnes dans Excel

Salut Astyanax,

Sans voir le code, ca risque d'être difficile de t'aider. Je pense même qu'un petit exemple de ton fichier serait le bienvenue, donc en attendant ces 2 choses, bonne journée.

@+
 

JeanMarie

XLDnaute Barbatruc
Re : Conséquences dans macro d'insertion de colonnes dans Excel

Bonjour

eh! oui, tu tombes dans ce qui est le plus chiant par rapport aux personnes qui ont connus la programmation avec les anciennes macro-commandes, où l'insertion ou la suppression de cellules dans les feuilles, provoquaient l'adaptation du code de la macro.

Dans le VBA, il y a une parade, c'est de nommer les cellules de références, à la place de Sheet("Feuil1").Range("A1"), tu pourrais utiliser Range("NomA1"), si la cellule A1 de la feuille 1 était nommée NomA1.

Pour nommer une cellule tu as deux possibilités :
- Dans la barre d'outils "formule", tu as une zone qui affiche la référence de la cellule active, clique dessus et saisi le nom.
- Clique sur le menu Insertion/Nom/Définir..., dans le nom de la cellule et valide

@+Jean-Marie
 

Astyanax

XLDnaute Occasionnel
Re : Conséquences dans macro d'insertion de colonnes dans Excel

Bonsoir à tout le forum et merci Porcinet 82 et Jean-Marie pour vos réponses,
j'ai recréé un mini tableau de résultats mais le principe est identique sur mon fichier.
Dans les colonnes H à N, je récupère des informations de d'autres feuilles et fichiers Excel et tous les mois, je rajoute une ligne avec ces résultats.
Ma prochaine action serait de récupérer les résultats de 09/2006.
J'ai 2 colonnes libres F et G et tout fonctionne très bien.
Dans ma macro, dans la colonne "Mois", je dis que la prochaine ligne à utiliser sera H & premièrelignevide, idem pour les autres colonnes, et je remplis la ligne.

Maintenant pour un nouveau besoin, j'ai inséré 3 nouvelles colonnes juste avant la colonne H (Mois). De ce fait, la colonne "Mois" se retrouve en "K" mais ma macro recherche toujours H & premièrelignevide et je me retrouve avec un décalage de 3 colonnes dans ma feuille de résultat.
J'espère avoir été + clair mais je pense comme le disait Jean-Marie, c'est de nommer les colonnes.
Bonne soirée
Astyanax
 

Pièces jointes

  • Exemple pour envoi forum.xls
    17.5 KB · Affichages: 40

porcinet82

XLDnaute Barbatruc
Re : Conséquences dans macro d'insertion de colonnes dans Excel

Salut,

Une autre solution qui n'est peut etre pas la meilleur puisque je pense que celle de JeanMarie est tres adaptée.

Si tu n'as rien à droite de ton tableau dans ta feuille, tu peux déterminer la place de cette colonne avec le code suivant :
colonne = Cells(1, Range("IV1").End(xlToLeft).Column).End(xlToLeft).Column

Ce code fonctionne dans l'exemple que tu fournis, après, je te laisse le soin d'adapter au besoin.

@+
 

Astyanax

XLDnaute Occasionnel
Re : Conséquences dans macro d'insertion de colonnes dans Excel

Bonsoir à tout le forum et merci Porcinet82 pour ta réponse mais j'ai du monde à droite.
Je vais utiliser la méthode de Jean-Marie qui est celle que je comptais déjà employer.
Bon WE
Astyanax
 

Discussions similaires

Réponses
9
Affichages
302

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa