begin process at 2012 02 15 08:16:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Divers

 > 

Remplacer des éléments avec excel en VB


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Remplacer des éléments avec excel en VB

mardi 21 septembre 2004 à 10:14:48 | Remplacer des éléments avec excel en VB

Sebastien12

Bonjour,

Je voudrais ouvrir excel avec un fichier jusque la pas de problème mais ensuite je voudrais remplacer certaines valeurs mais je bute ici.

Comment faire?

Voici le code.

Set app_exc = CreateObject("Excel.application")
app_exc.DisplayAlerts = False
app_exc.Visible = True
app_exc.application.Workbooks.Open ("C:\seb.xls")


' PROBLEME ICI

app_exc.Cells.Replace What:="seb", Replacement:="seb1", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False


app_exc.application.activeWorkbook.Close True ' Sauvegarde le fichier

app_exc.application.quit
Set app_exc = Nothing

Merci

Sebastien
mardi 21 septembre 2004 à 10:25:52 | Re : Remplacer des éléments avec excel en VB

SebOfBorg

Membre Club
Bonjour,

Peux être faudrait il que tu specifie la feuille dans laquelle tu veux faire cela...

Si tu veux balayer toutes les feuilles et seulement une certaine plage de données alors ceci pourrait t'aider.

Private Sub Worksheet_Activate()

For Each Feuilles In ActiveWorkbook.Sheets
For Each Cellules In Range("A2:F100")
If (Cellules .Value) = "SEB" Then
Cellules .Value = "Seb1"
End If
Next Cellules
Next Feuille
End Sub

Par exemple...

A bientôt
SebOfBorg
mardi 21 septembre 2004 à 17:42:04 | Re : Remplacer des éléments avec excel en VB

Sebastien12

J'ai toujours le même probleme.
Le message d'erreur est Impossible de lire la propriété findnext de la fonction range
Runtime error 1004.

Pourquoi j'ai ce problème ?

Voici le code:

Sub Main()

'Dim sht As Worksheets

Set app_exc = CreateObject("Excel.application") 'demande a communiquer avec excel.
app_exc.DisplayAlerts = False ' affiche les messages d'alertes ou pas.
app_exc.Visible = True ' affiche ou cache excel
app_exc.Application.WorkBooks.Open ("C:\temp\seb.xls") 'ouvre le fichier


For feuille = 1 To app_exc.Sheets.Count
app_exc.Sheets(feuille).Activate


Set trouvé1 = app_exc.Cells.Find(What:="seb")
If Not trouvé1 Is Nothing Then
trouvé1.Activate
dr = trouvé1.Address
app_exc.Application.Range(dr).Value = "seb1"
End If

essai:
' BUG ICI **************
Set trouvé2 = app_exc.Cells.FindNext(After:=ActiveCell)
If Not trouvé2 Is Nothing Then
trouvé2.Activate
dr = trouvé2.Address
app_exc.Application.Range(dr).Value = "seb1"

End If
GoTo essai
Next feuille


app_exc.Application.ActiveWorkbook.Close True ' Sauvegarde le fichier

app_exc.Application.Quit
Set app_exc = Nothing

End Sub

Merci

Sebastien
mercredi 22 septembre 2004 à 08:27:56 | Re : Remplacer des éléments avec excel en VB

SebOfBorg

Membre Club
Déjà une chose,
Nous sommes dans un environnement Anglais,
Evite les accents éàèù

Voici l'exemple de Microsoft :

With Worksheets(1).Range("a1:a500")
Set c = .Find(2, lookin:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Interior.Pattern = xlPatternGray50
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With

Ne fais pas : For feuille = 1 To app_exc.Sheets.Count
Mais plutot : For Each Feuilles In ActiveWorkbook.Sheets
C'est plus beau et cela va plus vite en execution.

Autre chose,
puisque tu veux remplacer les valeurs as tu essayé :
------------------------------------------------------------------
Cells.Replace What:="seb", Replacement:="seb1", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
------------------------------------------------------------------

Peut êtrequ'il ne faut pas utiliser de Set !
Mais simplement un TOTO = cells.FindNext(After:=ActiveCell).Range

Le replace me plais bien, sinon utilise le
Pour toutes les feuilles
Pour toutes les cellules
Si Valeur = Seb alors
Valeur = Seb1
Fin de Si
Boucle Cellules
Boucle Feuilles

Restant a l'ecoute
SebOfBorg



jeudi 23 septembre 2004 à 10:22:33 | Re : Remplacer des éléments avec excel en VB

Sebastien12

Bonjour,

Bon le programme fonctionne comme je le veux mais j'utilise la fonction replace qui ne voulait pas fonctionner avant.
Pourquoi je ne sais pas.

Merci pour ton aide
Sebastien
jeudi 23 septembre 2004 à 10:28:06 | Re : Remplacer des éléments avec excel en VB

SebOfBorg

Membre Club
Bonjour,

Alors fait attention avec cette fonction elle ne fonctionne pas sur Office 97.

Bon courage
SebOfBorg


Cette discussion est classée dans : application, excel, app, false, exc


Répondre à ce message

Sujets en rapport avec ce message

Erreur Ouverture d'excel [ par stage ] j'ai sa dans mon code :Dim app_exc As Excel.ApplicationSet app_exc = CreateObject("Excel.application")Set app_exc = GetObject("C:\Mes documents\modele Application.Visible=False [ par pipive ] Salut, Je rencontre un petit problème d'affichage avec Vba Excel. Lorsque j'active mon userform je veux fermer juste le fichier excel correspondant. M fermeture d'excel [ par erich ] J'ai cet appli sur un boutonSet app_exc = GetObject(, "Excel.Application") 'Test pour savoir si Excel tourneIf Err Then Err.Clear Set app_exc = Ouverture Excel [ par stage ] saLut jouvre excel avec cette méthode : Set app_exc = CreateObject("Excel.application") app_exc.DisplayAlerts = False app_exc. Ouverture de Excel défectueuse en VBA [ par Frank19 ] J'ouvre excel a partir d'un programme fait avec Vb de la facon suivante :Set app_exc = CreateObject("Excel.application")app_exc.Application.Visible = Process EXCEL trop lent [ par dardarmotus ] dardarmotus Salut tout le mondeVoila mon probleme:Je recherche des donnees dans une feuille excel.Via VB.NET:Je lance l'application excel, j'ouvre mon Utilisation d'Excel en VBA MS Access [ par WillRen ] Bonjour,En ce moment, je suis amené à gérer des fichiers Excel (création, copie, etc...) via MS Access en VBA. Tout se passe très bien jusqu'à la ferm automation excel [ par biebiere ] salutje developpe une appli access qui ouver un fichier excel, le modidfie et l'affiche:Dim excel_app As Excel.ApplicationDim worbk As Excel.Workbook OpenText sous excel (en VB 6.0) [ par Clonk ] Bonjour,pour importer un fichier texte sous Excel, j'utilise la méthode opentext de excel (merci moustachu ^^)je fais donc : Set exc = CreateObject pb excel [ par elbrahimo ] Bonjour !!!j'ai une application qui importe un fichier texte vers un fichier excel qui se déroule bien une premiere fois mais si je la relance sans qu


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,203 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales