Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1799 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  soucis sur une prog d'excel avec visual basic

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

soucis sur une prog d'excel avec visual basic

n°1810835
jule-boss5​2
Posté le 22-11-2004 à 18:04:15  profilanswer
 

bonjour,
j'ai un soucis je n'arrive pas à faire ma programmation sur une feuille d'excel avec visual basic.
Je souhaiterais obtenir une programmation avec un bouton dans une feuille d'excel pour en faire :
dans un tableau la recherche d'1 numero dans la colonne A et renvoyer la ligne trouver dans une autre feuille d'excel mais dans des cases sépare.
Exemple : dans la feuille 1 j'ai un tableau qui va de A8 à P500
dans la colonne A j'ai le un numéro "1.2.3.4.5.." dans la colonne B j'ai une réference,... ensuite j'ai dans la feuille 2 un documents que j'imprime apres avoir fait le renvoie des données de la feuille 1 (fait par une macro et un bouton)la colonne A (de la feuille 1)va dans la case B8 de la feuille 2.Maintenant le bouton que je veux creer sert à retrouver une ligne (le numero inscrit dans la colonne A)puis renvoyer tout les renseignements de la ligne dans le la feuille 2 a leur emplacement.
Merci par avance pour votre aide.
j'ai besoin de cette prog pour avance plus vite dans mon boulot.
julien.


---------------
julien.
mood
Publicité
Posté le 22-11-2004 à 18:04:15  profilanswer
 

n°1810882
minikissko​ol
C Frais Mais C Pas Grave
Posté le 22-11-2004 à 18:26:00  profilanswer
 

:whistle:  
 
pas besoin de macro...
si tu met des RECHERCHEV partout en feuille 2 basés sur le contenu de la cellule Feuil2!B8, toute la feuille 2 se mettra à jour automatiquement lorsque le numéro inscrit en Feuil2!B8 changera...

n°1810964
jule-boss5​2
Posté le 22-11-2004 à 19:09:32  profilanswer
 

bonsoir,
oui c'est une bonne idee, seulement j'ai une macro qui renvoie les donnees de ma feuilles 1 en feuille 2, et j'ai deja essayer de mettre les formules de rechercheV dans la feuille 2 mais avec la macro elle ecrase la formule lorsque je l'active.c'est pour cela que j'ai besoin d'une autre macro qui puisse me remmettre les valeurs que j'ai besoin.
si tu veux j'ai un tableau recapitulatif en feuille 1 qui par une macro renvoie different renseignement dans la feuilles 2 pour imprimer mon document, et la macro permet de mettre la dernier ligne ecrite mais si j'ai besoin de reedite un document bien avant la dernier ligne je ne peut pas le faire (d'ou ma demande).
Merci pour l'aide que vous apporter.
julien


---------------
julien.
n°1810986
minikissko​ol
C Frais Mais C Pas Grave
Posté le 22-11-2004 à 19:23:03  profilanswer
 

hum
 
j'y connais pas grand chose en VBA mais à ta place, je ferai une copie de la feuille 2 sur laquelle je mettrai les RECHERCHEV et qui ne serai pas modifié par la macro
 
sinon, il semblerait qu'a minima, une boite de dialogue s'ouvre pour te demander le numéro de la ligne à éditer et ce que numéro soit stocké sous la variable qui sert en ce moment à récupérer la dernière entrée
 
dans l'idéal, il te faudrait un formulaire qui te permette de sélectionner la ligne voulue dans un menu déroulant avec le même cheminement que précédemment
 
si tu postais le contenu de ta macro, certains experts pourront sans doute te dire la ou les lignes à changer pour ça

n°1811444
jule-boss5​2
Posté le 22-11-2004 à 23:00:27  profilanswer
 

bonsoir,
ok je vous joint ma macro actuel.
 
Private Sub CommandButton1_Click()
Dim L As Long, Dernier
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 1).Value
Exit For
End If
Next L
Worksheets("Identification" ).Cells(4, 2).Value = Dernier
Sheets("Identification" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 10).Value
Exit For
End If
Next L
Worksheets("Identification" ).Cells(6, 2).Value = Dernier
Sheets("Identification" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 9).Value
Exit For
End If
Next L
Worksheets("Identification" ).Cells(7, 2).Value = Dernier
Sheets("Identification" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 8).Value
Exit For
End If
Next L
Worksheets("Identification" ).Cells(8, 8).Value = Dernier
Sheets("Identification" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 7).Value
Exit For
 
Sheets("Identification" ).PrintOut
Sheets("DOCY011C" ).PrintOut
 
End If
Next L
Worksheets("Identification" ).Cells(2, 2).Value = Dernier
Sheets("Identification" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 6).Value
Exit For
End If
Next L
Worksheets("Identification" ).Cells(4, 8).Value = Dernier
Sheets("Identification" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 11).Value
Exit For
End If
Next L
Worksheets("Identification" ).Cells(3, 8).Value = Dernier
Sheets("Identification" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 12).Value
Exit For
End If
Next L
Worksheets("Identification" ).Cells(5, 8).Value = Dernier
Sheets("Identification" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 1).Value
Exit For
End If
Next L
Worksheets("DOCY011C" ).Cells(7, 6).Value = Dernier
Sheets("DOCY011C" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 9).Value
Exit For
End If
Next L
Worksheets("DOCY011C" ).Cells(9, 6).Value = Dernier
Sheets("DOCY011C" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 7).Value
Exit For
End If
Next L
Worksheets("DOCY011C" ).Cells(3, 3).Value = Dernier
Sheets("DOCY011C" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 10).Value
Exit For
End If
Next L
Worksheets("DOCY011C" ).Cells(9, 2).Value = Dernier
Sheets("DOCY011C" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 6).Value
Exit For
End If
Next L
Worksheets("DOCY011C" ).Cells(1, 8).Value = Dernier
Sheets("DOCY011C" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 4).Value
Exit For
End If
Next L
Worksheets("DOCY011C" ).Cells(7, 2).Value = Dernier
Sheets("DOCY011C" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 11).Value
Exit For
End If
Next L
Worksheets("DOCY011C" ).Cells(5, 2).Value = Dernier
Sheets("DOCY011C" ).Select
 
Sheets("Identification" ).PrintOut
Sheets("DOCY011C" ).PrintOut
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 4).Value
Exit For
End If
Next L
Worksheets("fiche recap" ).Cells(868, 2).Value = Dernier
Sheets("fiche recap" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 12).Value
Exit For
End If
Next L
Worksheets("fiche recap" ).Cells(868, 1).Value = Dernier
Sheets("fiche recap" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 11).Value
Exit For
End If
Next L
Worksheets("fiche recap" ).Cells(868, 3).Value = Dernier
Sheets("fiche recap" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 7).Value
Exit For
End If
Next L
Worksheets("fiche recap" ).Cells(868, 5).Value = Dernier
Sheets("fiche recap" ).Select
 
For L = 65236 To 262 Step (-1)
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then
Dernier = Worksheets("Reception" ).Cells(L, 3).Value
Exit For
End If
Next L
Worksheets("fiche recap" ).Cells(868, 7).Value = Dernier
Sheets("fiche recap" ).Select
End Sub
 
Voila c'est la macro que j'utilise à savoir que la feuille 1 est nommé Reception et la feuille 2 est fiche recap.
Merci pour votre aide.
cordialement
julien.


---------------
julien.
n°1811449
jule-boss5​2
Posté le 22-11-2004 à 23:04:27  profilanswer
 

ah oui j'ai oublie de mettre que cette macro renvoie sur deux documents la feuille 1 etant toujours Reception, et que la feuille 2 est identification, feuille 3 docty011c et le tout j'imprime avec la macro.


---------------
julien.
n°1811880
minikissko​ol
C Frais Mais C Pas Grave
Posté le 23-11-2004 à 08:43:36  profilanswer
 

bon chuis pas super bon en VBA mais j'ai l'impression qu'il suffirait de virer tous les If et For et de rentrer directement une valeur pour L avec une boite de dialogue
 

n°1813158
jule-boss5​2
Posté le 23-11-2004 à 18:03:36  profilanswer
 

bonsoir,
j'ai essayer mais cela ne fonctionne pas en retirrant les if et/for il me refuse de prendre la derniere cellule.
donc je ne sais pas vraiment comment faire.
cordialement. julien


---------------
julien.
n°1813400
minikissko​ol
C Frais Mais C Pas Grave
Posté le 23-11-2004 à 19:23:42  profilanswer
 

si tu remplaces tout ce pâté :
 
For L = 65236 To 262 Step (-1)  
If Worksheets("Reception" ).Cells(L, 1).Value <> "" Then  
Dernier = Worksheets("Reception" ).Cells(L, 1).Value  
Exit For  
End If  
Next L  
Worksheets("Identification" ).Cells(4, 2).Value = Dernier  
Sheets("Identification" ).Select
 
par ça :
 
Worksheets("Identification" ).Cells(4, 2).Value = Worksheets("Reception" ).Cells(L, 1).Value  
Sheets("Identification" ).Select
 
en mettant tout au début de ta macro un truc du genre
L = un_numéro_au_pif
 
ça ne fonctionne pas?
 
je crois qu'il y a une rubrique programmation, tu devrais poster ta macro en demandant ce que tu dois modifier pour qu'elle ne te prenne plus la dernière ligne mais qu'elle te laisse le choix...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  soucis sur une prog d'excel avec visual basic

 

Sujets relatifs
[Excel] Recherche dans un tableaugros soucis : "mots verts"
WIFI 56k petit soucisExcel format monétaire avec ()
Petit soucis deviendra grand[Excel] Création d'un formulaire a partir d'une base
excel(Excel) Afficher simultanement 3 "Worksheet" ( résolu )
[Excel] Compter le nombre de lettres indentiquesralentissement ajout supression de prog....
Plus de sujets relatifs à : soucis sur une prog d'excel avec visual basic


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR