J'essaie de supprimer la ligne d'un tableau si elle=20
contient le signe # dans une de ses cellules..
Lors du d=E9roulement de la macro ci dessous, j'ai=20
constamment une erreur "le membre de la collection requis=20
n'existe pas" au niveau de la ligne For each LaLigne in=20
myRange.Rows et je ne vois pas vraiment pourquoi...
Merci d'avance.
Sub Macro1()
Dim myRange As Selection, LaLigne As Row
Selection.WholeStory
Set myRange =3D Selection
For Each LaLigne In myRange.Rows
myRange.Find.Execute FindText:=3D"#"
If myRange.Find.Found =3D True Then
myRange.Rows.Delete
End If
Next LaLigne
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
circé
Bonjour,
Tu peux peut-être t'inspirer de cette macro d'anacoluthe qui est dans la faq : http://faqword.free.fr/articles.php?lng=fr&pgh3
Circé
J'essaie de supprimer la ligne d'un tableau si elle contient le signe # dans une de ses cellules.. Lors du déroulement de la macro ci dessous, j'ai constamment une erreur "le membre de la collection requis n'existe pas" au niveau de la ligne For each LaLigne in myRange.Rows et je ne vois pas vraiment pourquoi...
Merci d'avance.
Sub Macro1() Dim myRange As Selection, LaLigne As Row Selection.WholeStory Set myRange = Selection For Each LaLigne In myRange.Rows myRange.Find.Execute FindText:="#" If myRange.Find.Found = True Then myRange.Rows.Delete End If Next LaLigne End Sub
Bonjour,
Tu peux peut-être t'inspirer de cette macro d'anacoluthe qui est dans la
faq :
http://faqword.free.fr/articles.php?lng=fr&pgh3
Circé
J'essaie de supprimer la ligne d'un tableau si elle
contient le signe # dans une de ses cellules..
Lors du déroulement de la macro ci dessous, j'ai
constamment une erreur "le membre de la collection requis
n'existe pas" au niveau de la ligne For each LaLigne in
myRange.Rows et je ne vois pas vraiment pourquoi...
Merci d'avance.
Sub Macro1()
Dim myRange As Selection, LaLigne As Row
Selection.WholeStory
Set myRange = Selection
For Each LaLigne In myRange.Rows
myRange.Find.Execute FindText:="#"
If myRange.Find.Found = True Then
myRange.Rows.Delete
End If
Next LaLigne
End Sub
Tu peux peut-être t'inspirer de cette macro d'anacoluthe qui est dans la faq : http://faqword.free.fr/articles.php?lng=fr&pgh3
Circé
J'essaie de supprimer la ligne d'un tableau si elle contient le signe # dans une de ses cellules.. Lors du déroulement de la macro ci dessous, j'ai constamment une erreur "le membre de la collection requis n'existe pas" au niveau de la ligne For each LaLigne in myRange.Rows et je ne vois pas vraiment pourquoi...
Merci d'avance.
Sub Macro1() Dim myRange As Selection, LaLigne As Row Selection.WholeStory Set myRange = Selection For Each LaLigne In myRange.Rows myRange.Find.Execute FindText:="#" If myRange.Find.Found = True Then myRange.Rows.Delete End If Next LaLigne End Sub
J'ai fait une tentative de réadaptation mais maintenant toutes les lignes sont éffacées les unes après les autres ...
Public Sub Tableau() 'macro écrite par Anacoluthe On Error Resume Next Dim oTable As Table Dim oRow As Row Dim oCell As Cell For Each oTable In ActiveDocument.Tables For Each oRow In oTable.Rows For Each oCell In Range.Cells oCell.Range.Find.Execute FindText:="#" If oCell.Range.Find.Found = True Then oRow.Range.Delete End If Next oCell Next oRow Next oTable End Sub
-----Message d'origine----- Bonjour,
Tu peux peut-être t'inspirer de cette macro d'anacoluthe qui est dans la
J'essaie de supprimer la ligne d'un tableau si elle contient le signe # dans une de ses cellules.. Lors du déroulement de la macro ci dessous, j'ai constamment une erreur "le membre de la collection requis
n'existe pas" au niveau de la ligne For each LaLigne in
myRange.Rows et je ne vois pas vraiment pourquoi...
Merci d'avance.
Sub Macro1() Dim myRange As Selection, LaLigne As Row Selection.WholeStory Set myRange = Selection For Each LaLigne In myRange.Rows myRange.Find.Execute FindText:="#" If myRange.Find.Found = True Then myRange.Rows.Delete End If Next LaLigne End Sub .
J'ai fait une tentative de réadaptation mais maintenant
toutes les lignes sont éffacées les unes après les
autres ...
Public Sub Tableau()
'macro écrite par Anacoluthe
On Error Resume Next
Dim oTable As Table
Dim oRow As Row
Dim oCell As Cell
For Each oTable In ActiveDocument.Tables
For Each oRow In oTable.Rows
For Each oCell In Range.Cells
oCell.Range.Find.Execute FindText:="#"
If oCell.Range.Find.Found = True Then
oRow.Range.Delete
End If
Next oCell
Next oRow
Next oTable
End Sub
-----Message d'origine-----
Bonjour,
Tu peux peut-être t'inspirer de cette macro d'anacoluthe
qui est dans la
J'essaie de supprimer la ligne d'un tableau si elle
contient le signe # dans une de ses cellules..
Lors du déroulement de la macro ci dessous, j'ai
constamment une erreur "le membre de la collection
requis
n'existe pas" au niveau de la ligne For each LaLigne
in
myRange.Rows et je ne vois pas vraiment pourquoi...
Merci d'avance.
Sub Macro1()
Dim myRange As Selection, LaLigne As Row
Selection.WholeStory
Set myRange = Selection
For Each LaLigne In myRange.Rows
myRange.Find.Execute FindText:="#"
If myRange.Find.Found = True Then
myRange.Rows.Delete
End If
Next LaLigne
End Sub
.
J'ai fait une tentative de réadaptation mais maintenant toutes les lignes sont éffacées les unes après les autres ...
Public Sub Tableau() 'macro écrite par Anacoluthe On Error Resume Next Dim oTable As Table Dim oRow As Row Dim oCell As Cell For Each oTable In ActiveDocument.Tables For Each oRow In oTable.Rows For Each oCell In Range.Cells oCell.Range.Find.Execute FindText:="#" If oCell.Range.Find.Found = True Then oRow.Range.Delete End If Next oCell Next oRow Next oTable End Sub
-----Message d'origine----- Bonjour,
Tu peux peut-être t'inspirer de cette macro d'anacoluthe qui est dans la
J'essaie de supprimer la ligne d'un tableau si elle contient le signe # dans une de ses cellules.. Lors du déroulement de la macro ci dessous, j'ai constamment une erreur "le membre de la collection requis
n'existe pas" au niveau de la ligne For each LaLigne in
myRange.Rows et je ne vois pas vraiment pourquoi...
Merci d'avance.
Sub Macro1() Dim myRange As Selection, LaLigne As Row Selection.WholeStory Set myRange = Selection For Each LaLigne In myRange.Rows myRange.Find.Execute FindText:="#" If myRange.Find.Found = True Then myRange.Rows.Delete End If Next LaLigne End Sub .
Anacoluthe
Bonjour !
'Zepo' nous a écrit ...
Lors du déroulement de la macro ci dessous, j'ai constamment une erreur "le membre de la collection requis n'existe pas" au niveau de la ligne For each LaLigne in myRange.Rows et je ne vois pas vraiment pourquoi...
Rows (lignes de *tableau*) est propriété d'une Table (tableau)!!! Si MyRange contient au moins un *tableau*, les lignes de ce tableau sont la collection MyRange.Tables(1).Rows
Comprenez que MyRange.Rows n'a aucun sens : rien n'oblige un Range (votre Selection) à disposer d'une Table !
Utilisez l'explorateur d'objets pour comprendre à quel point VBA est d'une logique simplissime :-D
Vous devriez mettre un test pour vérifier qu'il y a au moins une table dans la sélection sinon votre macro va planter encore à la moindre mauvaise utilisation hors tableau... Bonne continuation
Anacoluthe « Il est très difficile d'imaginer quelque chose de simple. » - Pierre MAC ORLAN
Bonjour !
'Zepo' nous a écrit ...
Lors du déroulement de la macro ci dessous, j'ai
constamment une erreur "le membre de la collection requis
n'existe pas" au niveau de la ligne For each LaLigne in
myRange.Rows et je ne vois pas vraiment pourquoi...
Rows (lignes de *tableau*) est propriété d'une Table (tableau)!!!
Si MyRange contient au moins un *tableau*, les lignes de
ce tableau sont la collection MyRange.Tables(1).Rows
Comprenez que MyRange.Rows n'a aucun sens : rien n'oblige
un Range (votre Selection) à disposer d'une Table !
Utilisez l'explorateur d'objets pour comprendre à quel
point VBA est d'une logique simplissime :-D
Vous devriez mettre un test pour vérifier qu'il y a au
moins une table dans la sélection sinon votre macro
va planter encore à la moindre mauvaise utilisation
hors tableau... Bonne continuation
Anacoluthe
« Il est très difficile d'imaginer quelque chose de simple. »
- Pierre MAC ORLAN
Lors du déroulement de la macro ci dessous, j'ai constamment une erreur "le membre de la collection requis n'existe pas" au niveau de la ligne For each LaLigne in myRange.Rows et je ne vois pas vraiment pourquoi...
Rows (lignes de *tableau*) est propriété d'une Table (tableau)!!! Si MyRange contient au moins un *tableau*, les lignes de ce tableau sont la collection MyRange.Tables(1).Rows
Comprenez que MyRange.Rows n'a aucun sens : rien n'oblige un Range (votre Selection) à disposer d'une Table !
Utilisez l'explorateur d'objets pour comprendre à quel point VBA est d'une logique simplissime :-D
Vous devriez mettre un test pour vérifier qu'il y a au moins une table dans la sélection sinon votre macro va planter encore à la moindre mauvaise utilisation hors tableau... Bonne continuation
Anacoluthe « Il est très difficile d'imaginer quelque chose de simple. » - Pierre MAC ORLAN
Anacoluthe
Bonjour !
'' nous a écrit ...
... 'macro écrite par Anacoluthe ... For Each oCell In Range.Cells
OOOOOOOOOOOOO moi j'aurais écrit ça ???????????????????
Anacoluthe « La plus sûre façon de faire passer quelqu'un pour un crétin est de le citer. » - Robert BENCHLEY
Bonjour !
'anonymous@discussions.microsoft.com' nous a écrit ...
...
'macro écrite par Anacoluthe
...
For Each oCell In Range.Cells
OOOOOOOOOOOOO moi j'aurais écrit ça ???????????????????
Anacoluthe
« La plus sûre façon de faire passer quelqu'un
pour un crétin est de le citer. »
- Robert BENCHLEY
Ouf tu viens de rendre son honneur à notre Anacoluthe national.
--
A+
Anacoluthe
Bonjour ! --- j'ai supprimé le [HS] de l'ami Geo
'Geo' nous a écrit ...
Oki, oki For Each oCell In Rang.Cells
Ouf tu viens de rendre son honneur à notre Anacoluthe national.
Pas certain : je ne vois toujours pas d'où vient l'objet 'Rang' :-D )))
J'en profite pour donner un conseil important à tous nos amis débutants en VBA :
Ne modifiez ***JAMAIS*** une macro dans laquelle vous lisez On Error Resume Next Cette instruction saute les erreurs : il vous sera impossible de détecter une erreur de syntaxe comme une simple faute de frappe. Le résultat de la macro peut devenir alors aberrant. Cette instruction est faite pour traiter une erreur prévisible lors de l'exécution (dans ma macro d'origine il s'agissait du cas toujours possible d'un document actif ne comportant /aucun/ tableau : son rôle était donc très précis). Ce que vous devez TOUJOURS faire : Commencez par *désactiver* cette instruction (en commentaire) REM On Error Resume Next Modifiez la macro et surtout testez-là dans tous les cas ! Ensuite et si besoin seulement rétablissez la gestion d'erreur On Error Resume Next
Voilà, j'ai supprimé le [HS] de l'ami Geo car je pense qu'il s'agit bien du sujet de ce fil ....
Anacoluthe « Les erreurs sont les portes de la découverte. » - James JOYCE
Bonjour ! --- j'ai supprimé le [HS] de l'ami Geo
'Geo' nous a écrit ...
Oki, oki
For Each oCell In Rang.Cells
Ouf
tu viens de rendre son honneur à notre Anacoluthe national.
Pas certain : je ne vois toujours pas d'où vient l'objet 'Rang'
:-D )))
J'en profite pour donner un conseil important à tous nos
amis débutants en VBA :
Ne modifiez ***JAMAIS*** une macro dans laquelle vous lisez
On Error Resume Next
Cette instruction saute les erreurs : il vous sera impossible
de détecter une erreur de syntaxe comme une simple faute de
frappe. Le résultat de la macro peut devenir alors aberrant.
Cette instruction est faite pour traiter une erreur prévisible
lors de l'exécution (dans ma macro d'origine il s'agissait
du cas toujours possible d'un document actif ne comportant
/aucun/ tableau : son rôle était donc très précis).
Ce que vous devez TOUJOURS faire :
Commencez par *désactiver* cette instruction (en commentaire)
REM On Error Resume Next
Modifiez la macro et surtout testez-là dans tous les cas !
Ensuite et si besoin seulement rétablissez la gestion d'erreur
On Error Resume Next
Voilà, j'ai supprimé le [HS] de l'ami Geo
car je pense qu'il s'agit bien du sujet de ce fil ....
Anacoluthe
« Les erreurs sont les portes de la découverte. »
- James JOYCE
Ouf tu viens de rendre son honneur à notre Anacoluthe national.
Pas certain : je ne vois toujours pas d'où vient l'objet 'Rang' :-D )))
J'en profite pour donner un conseil important à tous nos amis débutants en VBA :
Ne modifiez ***JAMAIS*** une macro dans laquelle vous lisez On Error Resume Next Cette instruction saute les erreurs : il vous sera impossible de détecter une erreur de syntaxe comme une simple faute de frappe. Le résultat de la macro peut devenir alors aberrant. Cette instruction est faite pour traiter une erreur prévisible lors de l'exécution (dans ma macro d'origine il s'agissait du cas toujours possible d'un document actif ne comportant /aucun/ tableau : son rôle était donc très précis). Ce que vous devez TOUJOURS faire : Commencez par *désactiver* cette instruction (en commentaire) REM On Error Resume Next Modifiez la macro et surtout testez-là dans tous les cas ! Ensuite et si besoin seulement rétablissez la gestion d'erreur On Error Resume Next
Voilà, j'ai supprimé le [HS] de l'ami Geo car je pense qu'il s'agit bien du sujet de ce fil ....
Anacoluthe « Les erreurs sont les portes de la découverte. » - James JOYCE