Insertion de ligne sans modification de code.

Résolu
yo9478 Messages postés 2 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 3 mars 2010 - 3 mars 2010 à 09:56
yo9478 Messages postés 2 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 3 mars 2010 - 3 mars 2010 à 10:35
Bonjour à tous.

Ceci est ma première visite sur le site vb France.
Etudiant, et n'ayant que formation partielle en VBA, j'ai développé un outil me permettant d'obtenir le dimensionnement d'une pompe.
Mes paramètres d'entrée (débit, température...) sont disposés dans la colonne A les uns en dessous des autres. Il s'avère que certain de ces paramètres sont laissés au choix de l'utilisateur (liste déroulante). En fonction de ce choix, d'autres lignes s'insèrent à une place précise, pour laisser la place à de nouvelles entrées. Le codage est simplement du type:

[i]If Range("A1").Value = "temperature" Then
Range("A12").Select
Selection.EntireRow.Insert/i

Mais voila, je voudrais insérer de nouveaux paramètres (donc de nouvelles lignes) par exemple à la ligne A8 (prise exprès entre A1 et A12).
Le problème est que mon code continue (et c'est logique) à insérer une ligne en A12 alors que je souhaiterais maintenant qu'elle soit en A13.
Ayant parcouru les forums et les tutoriaux, je n'ai malheureusement pas trouvé de réponse satisfaisante.
J'ai conscience que je vais certainement devoir changer la logique de mon code.

Est-ce que quelqu'un pourrais me donner une idée de la manière dont coder pour pallier ce problème?

Je vous remercie d'avance.

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
3 mars 2010 à 10:23
Salut et bienvenu.
Hélas non, les chiffres ou références saisis en dur dans le programme ne pourront pas être décalés automatiquement.

Puisque tu vas devoir revoir ton code, ligne après ligne, je te suggère de penser à l'avenir et à une prochaine situation identique.
Par exemple, prenons une ligne A1 à A11 et le résultat de sélection en A12.
Au fur et à mesure que tu ajouteras des items, il te faudra décaler ces adresses = pas bon.
Deux solutions pour les résultats de sélection :
- Les mettre devant les données, laissant ainsi libres les cellules qui suivent.
- Les mettre dans une autre feuille
Chacune de ces solutions nécessite pas mal de boulot, mais c'est payant à terme.
Bon courage

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
yo9478 Messages postés 2 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 3 mars 2010
3 mars 2010 à 10:35
Merci beaucoup pour votre réponse.
Je vais tâcher de faire au mieux.
Bonne journée.
0
Rejoignez-nous