MACRO "Insérer une colonne"

Pierrick1910

XLDnaute Nouveau
Hello à tous,

Je cherche à faire une petite macro que je croyais très simple ! Mais je ne trouve pas la solution !
Je souhaite que la macro insère une colonne mais toujours à coté d'une même colonne (mais qui se sera déplacée vu que d'autres colonnes auront été insérées)!

Mon problème est que lorsque j'utilise la Macro la première fois ça marche, mais les autres fois... ça ne marche plus...

Tout est toujours plus simple avec Fichier joint
Vous pouvez donc essayer

Dans la partie 1er Trimestre :
-Saisissez une note dans la 3ème colonne (seulement sur la première ligne, peu importe)
-Cliquez ensuite sur le bouton (en bas) 'Insérer une note au 1er trimestre'
- Une colonne se rajoute, ajouter une note dans cette nouvelle colonne
- Re cliquez sur le bouton... et cette fois-ci vu que la macro prend toujours la même colonne, elle masque là où vous aviez précédement saisi votre note... et bref c'est le bazzare !

A vous de me dire... j'ai essayé d'être clair, mais ce n'est pas toujours facile !
[file name=carnetdenotev2_20050914124328.zip size=12507]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/carnetdenotev2_20050914124328.zip[/file]
 

Pièces jointes

  • carnetdenotev2_20050914124328.zip
    12.2 KB · Affichages: 246

porcinet82

XLDnaute Barbatruc
Salut Pierrick,

Bon je te dis tout de suite que je ne suis partis de la meme maniere que toi (ma logique n'est en general pas tres logique lol).

je m'explique donc sur ma methode : au lieu d'inserer une colonne a coté de la derniere note comme tu le faisais, je fais un test a partir de la cellule C1, c'est a dire que je recherche la position de la premiere cellule non vide (en partant vers la droite) et lorsque cette cellule est trouvé, je fais une selection de la colonne precedente et là j'insere une colonne.

enfin je te laisse regarder la macro puisque ce sera certainement plus efficace qu'un long discours.


Code:
Sub inser_col()
Dim i as integer

For i = 3 To Range('C1').End(xlToRight).Column
    If Cells(1, i).Value = '' Then
        'rien
    Else
        Columns(i - 1).Select
        Selection.Insert shift:=xlToRight
        Exit Sub
    End If
Next i
End Sub

J'espere que ca ira, puisque je ne pourrais plus t'aider apres 15h cet aprem car j'effectue ma rentré

@+
 

Discussions similaires

Réponses
4
Affichages
229

Statistiques des forums

Discussions
300 793
Messages
1 987 236
Membres
209 746
dernier inscrit
mb1982