Appel fonction VBA
Meliodas54
Messages postés
14
Statut
Membre
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Afin de simplifier le code de ma macro VBA (excel), j'aimerais remplacer la répétition de plusieurs lignes par une fonction qui fait le même travail. Mais je n'arrive pas à la faire fonctionner: pouvez vous m'aider ?
Voici le code initial :
WDoc.Tables(1).Cell(5, 4).Range.Copy 'copie la valeur dans le presse papier
ws.Select 'bascule vers Excel
ws.Cells(i, c).PasteSpecial (xlPasteValues) 'colle la valeur dans la cellule
ws.Cells(i, c).Value = Replace(ws.Cells(i, c), ":", "") 'Supprime les ":"
ws.Cells(i, c).Value = Trim(ws.Cells(i, c)) 'Supprime les espaces à gauche et à droite de la chaine de caractère
c = c + 1
La fonction pour la remplacer:
Public Sub extraction(table As Integer, ligne As Integer, colonne As Integer)
WDoc.Tables(table).Cell(ligne, colonne).Range.Copy
ws.Select
ws.Cells(i, c).PasteSpecial (xlPasteValues)
ws.Cells(i, c).Value = Replace(ws.Cells(i, c), ":", "")
ws.Cells(i, c).Value = Trim(ws.Cells(i, c))
c = c + 1
End Sub
Mon appel:
extraction 1, 2, 2 ou call extraction (1,2,2)
Merci pour votre aide
Afin de simplifier le code de ma macro VBA (excel), j'aimerais remplacer la répétition de plusieurs lignes par une fonction qui fait le même travail. Mais je n'arrive pas à la faire fonctionner: pouvez vous m'aider ?
Voici le code initial :
WDoc.Tables(1).Cell(5, 4).Range.Copy 'copie la valeur dans le presse papier
ws.Select 'bascule vers Excel
ws.Cells(i, c).PasteSpecial (xlPasteValues) 'colle la valeur dans la cellule
ws.Cells(i, c).Value = Replace(ws.Cells(i, c), ":", "") 'Supprime les ":"
ws.Cells(i, c).Value = Trim(ws.Cells(i, c)) 'Supprime les espaces à gauche et à droite de la chaine de caractère
c = c + 1
La fonction pour la remplacer:
Public Sub extraction(table As Integer, ligne As Integer, colonne As Integer)
WDoc.Tables(table).Cell(ligne, colonne).Range.Copy
ws.Select
ws.Cells(i, c).PasteSpecial (xlPasteValues)
ws.Cells(i, c).Value = Replace(ws.Cells(i, c), ":", "")
ws.Cells(i, c).Value = Trim(ws.Cells(i, c))
c = c + 1
End Sub
Mon appel:
extraction 1, 2, 2 ou call extraction (1,2,2)
Merci pour votre aide
A voir également:
- Appel fonction VBA
- Fonction si et - Guide
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Appel privé - Guide
- Double appel - Guide
- Votre appel ne peut aboutir - Forum Mobile