Soyez le premier à donner votre avis sur cette source.
Snippet vu 109 404 fois - Téléchargée 42 fois
Dim xls As Excel.Workbook ' déclaration d'une variable objet de type classeur Excel Dim var As ce_que_vous_voulez Set xls = GetObject("monfichier.xls") 'instanciation de l'objet (qui devient ici le fichier excel indiqué) ' export de données With xls .worksheets(1).range("B6").Value = "1" .worksheets(1).range("B18").Value = "2" .worksheets(1).range("A18").Value = "3" End With ' worksheets(1) correspond à la feuille 1 du fichier Excel ' pour spécifier le nom d'une feuille mettre à la place sheets("nom de la feuille") ' import de données var = xls.worksheets(1).range("C2").Value ' etc etc... ' après à vous d'adapter le code en fonction de vos besoin ' une fois que vous avez fini d'utiliser la variable xls, pensez à la détruire Set xls = Nothing ' PS: le code ci-dessus utilise un fichier Excel déjà existant. ' Pour créer un fichier Excel à partir d'une appli VB voici la manip: Dim xls as Excel.Application Set xls = CreateObject("Excel.Application") ' création d'une nouvelle instance vierge de l'application Excel ' après paramètrez le fichier comme bon vous semble. ' Voici quelques exemples xls.WindowState = xlMaximized ' format plein écran xls.Visible = True ' visible à l'écran xls.ShowWindowsInTaskbar = True ' visible dans la barre de tâches xls.DisplayFormulaBar = True ' affichage de la barre de formule xls.Caption = "Mon fichier Excel" xls.Workbooks.Add ' ajout d'un classeur Excel sinon vous aurez une instance d'Excel mais pas de classeur xls.Worksheets(1).Name = "Feuille1" xls.Worksheets(2).Name = "Feuille2" xls.Worksheets(1).Range("D1").Font.Bold = True ' la cellule D1 est en gras xls.Worksheets(1).Columns("A:A").EntireColumn.AutoFit 'ajustement automatique de la colonne A xls.Worksheets(1).PrintOut Copies:=1 ' imprimer 1 copie de la feuille 1 ' je vais pas tous les faire parce que les possibilitées sont énormes. ' une bonne astuce pour voir les commandes correspondant à ce que vous ' souhaitez faire est de créer un fichier Excel, de lancer l'enregistrement d'une macro, ' d'exécuter les opérations voulues (changement police, ajustement colonne etc), ' d'arrêter l'enregistrement de la macro et d'aller voir le code qui a été créé. Perso c'est ' comme ça que j'ai procédé.
Je ne ne suis pas un expert en programmation. Vraiment pas. Environ 20h de formation a l'école sur visual basic.
Je bidouille présentement pour le plaisir, un programme qui doit utiliser des données sur internet (ou dans excel) et en compiler de nouvelles vers un fichier Excel. Je crois que ce code va m'aider grandement. Cependant, je vais devoir faire cette manoeuvre plusieurs fois.
Disons que je dois transmettre des données de plusieurs "personnes de mon entreprise dans mon fichier Excel.
Monsieur A
Monsieur B
Madame C
Monsieur C ...
Est ce que ça serait possible d'associer chaque noms a des données spécifique. j'aimerais par exemple: sélectionner Monsieur A dans une liste déroulante et ainsi récupérer les données de excel vers vb et par la suite en appuyant sur un bouton transférer des statistiques vers un autre fichier Excel. J'espère que ma question vous sembles clair.!
Présentement je récupère les données sur internet par moi même, ni écrit ces données dans mon programme et en appuyant sur un bouton je génère mes statistiques qui sont transféré vers un datagridview. Ensuite je copie et collé dans Excel. Ça fonctionne bien sauf que c'est très long et sachant que je dois le faire environ 300 fois....sivous avez une idée je suis preneur.merci
Au sujet de l'import-export de cellules Excel dans un pg en VB6,j'ai utilisé l'une des idées de ce forum, et ça marche :
(il s'agit de mettre des données issues de Tableau(x,y) dans un fichier Excel, seulement si la valeur de la case est différente).
Set xls = GetObject(CheminFichier$) 'instanciation de l'objet (qui devient ici le fichier excel indiqué)
CheminFichier$ est le chemin complet,sinon, ça ne marche pas. Exemple: C:\2011\Fichier.xls
On trouve facilement ces indications par un clic droit, et Propriétés
' *
' * ' export de données
Pour faire une boucle, j'utilise des chaînes de caractères. Je pense que ("B" & i ) peut rebuter VB, je pense qu'il vaut mieux écrire ("B" & str$(i)). Mais il faut se débarrasser de l'espace devant i dans la chaîne. Alors, remplacer str$(i) par right$(str$(i), len(str$(i))-1). Ca devrait marcher !
With xls
CX$ = "2345678"
CY$ = "ABCDEFG"
For X = 0 To 6
For Y = 0 To 6
If xls.worksheets("Altitudes").range(Mid$(CY$, Y + 1, 1) & Mid$(CX$, X + 1, 1)).Value <> Tableau(X, Y) Then
.worksheets("Altitudes").range(Mid$(CY$, Y + 1, 1) & Mid$(CX$, X + 1, 1)).Value = Tableau(X, Y)
End If
Next Y
Next X
End With
Et ça marche au poil !
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.