Pb de macro

  • Initiateur de la discussion Laurent
  • Date de début
L

Laurent

Guest
Bonjour à tous,
Je précise tout de suite que je suis nul en macro mais j'essaie de m'y mettre.
Je souhaite ouvrir un fichier dont le nom se situe dans la colonne (n+1) de ma cellule active. En clair, j'ai une liste de noms en colonne A et des codes en colonne B. Je choisis un nom dans ma colonne A (cellule active) et je clique sur un bouton pour ouvrir le fichier dont le nom est le code correspondant. Comme je ne sais pas faire dans les règles de l'art, j'ai placé une formule de RECHERCHEV pour trouver le code d'après le nom et je pensais que ma macro prendrait ce code pour ouvrir le fichier mais ça ne fonctionne pas...

Sub Bouton1_QuandClic()
Range("E1") = ActiveCell
Worbooks.Open "C:\REPERTOIRE\" & Range("G1") & ".xls"
End Sub

Dans G1, il y a la RECHERCHEV de E1.

Je sais, ce n'est pas du tout clair, mais je pense que ce n'est pas dur pour les pros. Alors, merci d'avance si vous pouvez m'aider.
 
@

@+Thierry

Guest
Bonjour Laurent, le Forum

Je ne pense pas que tu aies besoin d'un RechercheV... Un simple Offset (Décaler) devrait suffir si tes code sont bien dans la colonne de droite de la cellule active...
Offset(Ligne, Colonne) = Donc OffSet(0 Ligne, 1 Colonne) = Soit Offset(0, 1)


Voilà ce que çà donnerait :

Sub Bouton1_QuandClic()
Dim LaCelluleActive As Range
LaCelluleActive = ActiveCell
LaCelluleDuCode = LaCelluleActive.Offset(0, 1)

Worbooks.Open "C:\REPERTOIRE\" & LaCelluleDuCode & ".xls"
End Sub

Bon Courage !!

n'oublie pas la touche F1 quand tu es dans VBE (Visual Basic Editor) tu selectionnes par exemple "Offset" et tu fais F1.... Welcome to the VBA World !

@+Thierry
 
M

michel

Guest
Bonjour Laurent

Si ta cible est dans la colonne n+1 par rapport à ta cellule active tu peux écrire

Sub Bouton1_QuandClic()
Dim cible as string
cible = ActiveCell.offset(0,1).value
Worbooks.Open "C:\REPERTOIRE\" & cible ) & ".xls"
End Sub

offset(x,y) permet de te décaler dans les cellules ( dans tons cas par rapport à la cellule active )
x ligne
y colonne

bonne soirée
michel
 
@

@Christophe@

Guest
Bonjour Laurent

Ben tu dois tous simplement faire comme cela:

Private Sub CommandButton1_Click()
Dim NomFichier As String

NomFichier = Cells(ActiveCell.Row, 6) & ".xls"
On Error GoTo fin
Workbooks.Open "C:\Documents and Settings\.....\" & NomFichier
Exit Sub

fin:
MsgBox "Fichier inexistant!"
End Sub

Petit info:
Dans la ligne :NomFichier = Cells(ActiveCell.Row, 6) & ".xls", le 6 represente la collone, A=1, B=2,..., à toi de modifie

je gère aussi l'erreur pour éviter le bug si le fichier n'existe pas

Dans la ligne : Workbooks.Open "C:\Documents and Settings\.....\" & NomFichier, N'oublie pas la \ pour terminir aussi non il trouvera pas le fichier

Bonne soirée

Tient moi au courant

@Christophe@
 
@

@Christophe@

Guest
Ben didons, tous en même temps

Coucou Thierry et Michel

et tous avec la même solution, et personne n'a pensé à géré l'erreur, même pas mon professeur Thierry

Moi je me serais fais gronder si j'avais vais cela dans le temps, lol Thierry

Bonne soirée à vous tous

@Christophe@
 
@

@+Thierry

Guest
Salut les amis, Michel et @Xtof@ et Re Bonsoir Laurent, Le Forum

Et oui gérer l'erreur... c'est certain mais ce n'est pas que j'ai oublié mais j'ai voulu être le plus simple possible pour notre ami débutant comme il l'a précisé...

Mais maintenant Laurent a une belle panoplie de solutions... Et j'espère qu'il les assimilera...

Par contre j'ai oublié un truc...

C'est de le gronder pour son Sujet Bidon... En consacrant 2 minute à lire notre Charte Article 2 a)...

Car "Pb de Macro"... Si tu viens poser des questions içci on se doute bien que tu as un problème... Quand au Macros.... Oui on s'en doute aussi ;-)

Donc Grrrrrrrr ce devrait être "Macro pour Ouverture de Fichier selon Cellule Active"....

Enfin c'est fait, mais Laurent essaie de t'appliquer un peu la prochaine fois...

Bonne Soirée
@+Thierry
 

Discussions similaires

Réponses
1
Affichages
402

Statistiques des forums

Discussions
314 121
Messages
2 106 128
Membres
109 495
dernier inscrit
jerome bonneau