A voir également:
- Macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
12 réponses
dje-dje
Messages postés
10417
Date d'inscription
mardi 6 janvier 2004
Statut
Modérateur
Dernière intervention
28 janvier 2011
758
21 juil. 2005 à 15:42
21 juil. 2005 à 15:42
C'est toujours de A1 à E8?
Si non, qu'est de qui fait que tu prends une ligne ou une colonne dans ta "range"
a+
dje-dje
Si non, qu'est de qui fait que tu prends une ligne ou une colonne dans ta "range"
a+
dje-dje
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
21 juil. 2005 à 17:28
21 juil. 2005 à 17:28
Salut,
et voilà :
Bon, c'est fait à la va-vite mais ça doit fonctionner...
A+
et voilà :
Sub toto() Dim i, j For i = 1 To 65535 If IsEmpty(Range("A" & i)) Then Exit For Next i For j = 1 To 255 If IsEmpty(Cells(1, j)) Then Exit For Next j Range(Cells(1, 1), Cells(i - 1, j - 1)).Select End Sub
Bon, c'est fait à la va-vite mais ça doit fonctionner...
A+
Merci bcp pour le code, j'ai essayait et il marche bien. J'ai encore une petite question. Quand j'essaie d'écrire
Worksheets("Feuil1").Range(Cells(1,1),Cells(i-1,j-1)).Name="dat"
il m'indique une erreur à l'exécution. Quelqu'un sait-il pourquoi et comment le résoudre ? Merci encore
Worksheets("Feuil1").Range(Cells(1,1),Cells(i-1,j-1)).Name="dat"
il m'indique une erreur à l'exécution. Quelqu'un sait-il pourquoi et comment le résoudre ? Merci encore
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
22 juil. 2005 à 15:13
22 juil. 2005 à 15:13
Re,
ça fonctionne bien chez moi, peux-tu mettre le code en entier que je teste ?
A+
ça fonctionne bien chez moi, peux-tu mettre le code en entier que je teste ?
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Excuse moi pour ma réponse tardive. Voici le code qui pose problème
Dim i, j As Integer
For i = 1 To 65535
If IsEmpty(Worksheets("taux").Range("B" & i)) Then Exit For
Next i
For j = 1 To 256
If IsEmpty(Worksheets("taux").Cells(2, j)) Then Exit For
Next j
Worksheets("taux").Range(Cells(2, 2), Cells(i - 1, j -1)).Name="tx"
Dim Taux As Range
Set Taux = Worksheets("taux").Range(tx)
Voilà, sûrement que je me complique la vie mais bon ce que je veux en fait c'est attribuer à la variable Taux le plage Cells(2, 2):Cells(i - 1, j -1)
Voila, j'espère que ca peut t'aider. Encore merci
Dim i, j As Integer
For i = 1 To 65535
If IsEmpty(Worksheets("taux").Range("B" & i)) Then Exit For
Next i
For j = 1 To 256
If IsEmpty(Worksheets("taux").Cells(2, j)) Then Exit For
Next j
Worksheets("taux").Range(Cells(2, 2), Cells(i - 1, j -1)).Name="tx"
Dim Taux As Range
Set Taux = Worksheets("taux").Range(tx)
Voilà, sûrement que je me complique la vie mais bon ce que je veux en fait c'est attribuer à la variable Taux le plage Cells(2, 2):Cells(i - 1, j -1)
Voila, j'espère que ca peut t'aider. Encore merci
tompols
Messages postés
1273
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
435
26 juil. 2005 à 17:07
26 juil. 2005 à 17:07
Et voilà :
Voir ligne Set Taux = Worksheets("taux").Range("tx")
A+
Dim i, j As Integer For i = 1 To 65535 If IsEmpty(Worksheets("taux").Range("B" & i)) Then Exit For Next i For j = 1 To 256 If IsEmpty(Worksheets("taux").Cells(2, j)) Then Exit For Next j Worksheets("taux").Range(Cells(2, 2), Cells(i - 1, j -1)).Name="tx" Dim Taux As Range Set Taux = Worksheets("taux").Range("tx")
Voir ligne Set Taux = Worksheets("taux").Range("tx")
A+
Merci mais le problème persiste. En fait en faisant executer la macro pas à pas je vois que l'erreur provient de la ligne suivante
Worksheets("taux").Range(Cells(2, 2), Cells(i - 1, j - 1)).Name = "tx"
Il me dit: Erreur d'exécution 1004 Erreur défini par l'objet ou par l'application.
Comprends-tu pourquoi ?
Worksheets("taux").Range(Cells(2, 2), Cells(i - 1, j - 1)).Name = "tx"
Il me dit: Erreur d'exécution 1004 Erreur défini par l'objet ou par l'application.
Comprends-tu pourquoi ?
Utilisateur anonyme
26 juil. 2005 à 19:16
26 juil. 2005 à 19:16
Bonjour,
Les variables [ i ] et [ j ] ne peuvent prendre la valeur [ 1 ] .
vous obtenez ainsi :
Worksheets("taux").Range(Cells(2, 2), Cells(0,0)).Name="tx"
cette partie [ Cells(0,0) ] ou [ Cells(1,0) ] ou [ Cells(0,1) ] n'est pas admissible.
Établir la boucle sur :
For i = 2 to ...
For j = 2 to ...
Lupin
Les variables [ i ] et [ j ] ne peuvent prendre la valeur [ 1 ] .
vous obtenez ainsi :
Worksheets("taux").Range(Cells(2, 2), Cells(0,0)).Name="tx"
cette partie [ Cells(0,0) ] ou [ Cells(1,0) ] ou [ Cells(0,1) ] n'est pas admissible.
Établir la boucle sur :
For i = 2 to ...
For j = 2 to ...
Lupin
Merci pour votre message. Le problème doit venir d'ailleur, car j'ai essayer d'écrire
Worksheets("taux").Range(Cells(2, 2), Cells(i, j)).Name = "tx"
et j'ai toujour le meme message d'erreur...
Worksheets("taux").Range(Cells(2, 2), Cells(i, j)).Name = "tx"
et j'ai toujour le meme message d'erreur...
J'ai fait une petite erreur. Je voulais dire que j'avais essayé la ligne de code suivante :
Worksheets("taux").Range(Cells(1, 1), Cells(i, j)).Name = "tx"
Worksheets("taux").Range(Cells(1, 1), Cells(i, j)).Name = "tx"
Utilisateur anonyme
27 juil. 2005 à 14:34
27 juil. 2005 à 14:34
re:
est-ce que la ligne suivante fonctionne ?
Worksheets("taux").Range(Cells(1, 1), Cells(3,3)).Name = "tx"
chez moi c'est nickel !
Lupin
est-ce que la ligne suivante fonctionne ?
Worksheets("taux").Range(Cells(1, 1), Cells(3,3)).Name = "tx"
chez moi c'est nickel !
Lupin
21 juil. 2005 à 16:37
Mais en général ce serai une macro qui me donne le champs des cellules non vide, sachant que ce champs part tjs du sommet gauche et qu'il a une forme rectangulaire. Est-ce plus clair now ?
En tout cas merci de t'intéresser à ma question.
21 juil. 2005 à 16:39
Tu veux lui faire quoi à cette "range" ensuite?
a+
dje-dje
21 juil. 2005 à 17:18
Mais voilà je ne connais pas bien VB et je vois mal comment incremmenter une lettre de colonne(par exemple faire passer la variable de colonne à la colonne suivante dans ma boucle while (A+1 =B ?)). Donc saurais-tu où trouver une esquisse d'un code possible pour ma macro ?
Merci encore