Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

CREER UN TABLEAU VARIABLE

15 réponses
Avatar
dracbi
2 feuilles :
La premiere =3D Feuil1
La deuxieme =3DFeuil 2

En Feuil 1 on a 12 colonnes
colonne 1 =3D champs 1
colonne 2 =3D champs 2
colonne 3 =3D champs 3....

En Feuil 2 j'aimerais r=E9cup=E9rer des informations de la feuille 1 mais
avec qq particularit=E9es.
Il faut qu'en feuille 1 la colonne 1 soit marqu=E9e d'une 'X'
Compter le nbr de X car si < 17 alors r=E9partition des infos sur 1
feuille sinon si < 33 sur 2 feuilles


Pr=E9cision :

En finalit=E9 je souhaite cr=E9er des =E9tiquettes autocollantes lors
d'envoie de courrier
1 =E9tiquette =3D 5 Lignes maxi
1 Page comprend 16 =E9tiquettes r=E9partis sur 2 colonnes

Merci pour votre aide.

Cordialement

Benjamin

5 réponses

1 2
Avatar
isabelle
bonjour,

expression.End(Direction)

c'est pour désigner une des constantes XlDirection.
0 xlDown
1 xlToRight
2 xlToLeft
3 xlUp

isabelle

On 9 mai, 13:10, "Youky" wrote:
Voici le fichier avec des adresses bidons pour ceux que cela intéressehttp://cjoint.com/?fjnbyUjsG5
Je t'ai envoyé ce même fichier à 9h15, j'ai seulement modifié de facon que
si tu
changes directement des données en feuille Adresse
ces données soient mises à jour dans l'userform sur ce fichier.
Pour le double click rien de changé...
Youky
a écrit dans le message de news:

On 9 mai, 11:28, wrote:

J'ai trouvé des info sur le sujet ...
http://www.cathyastuce.com/vba/concept.php
Cordialement
Benjamin
En bref ...pour mettre une X dans une cellule en faisant un double

clique :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If Target = "" Then
Target = "X"
Else
Target = ""
End If
Cancel = True
End Sub


Bonjour Youky,

A quoi correspond le 3 dans cette ligne ?

For k = 2 To .[A65536].End(3).Row




Avatar
dracbi
On 9 mai, 16:18, isabelle wrote:
bonjour,

expression.End(Direction)

c'est pour désigner une des constantes XlDirection.
0  xlDown
1  xlToRight
2  xlToLeft
3  xlUp

isabelle




On 9 mai, 13:10, "Youky" wrote:
Voici le fichier avec des adresses bidons pour ceux que cela intéress ehttp://cjoint.com/?fjnbyUjsG5
Je t'ai envoyé ce même fichier à 9h15, j'ai seulement modifié d e facon que
si tu
changes directement des données en feuille Adresse
ces données soient mises à jour dans l'userform sur ce fichier.
Pour le double click rien de changé...
Youky
a écrit dans le message de news:

On 9 mai, 11:28, wrote:

J'ai trouvé des info sur le sujet ...
http://www.cathyastuce.com/vba/concept.php
Cordialement
Benjamin
En bref ...pour mettre une X dans une cellule en faisant un double

clique :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
    If Target = "" Then
       Target = "X"
    Else
       Target = ""
    End If
    Cancel = True
End Sub


Bonjour Youky,

A quoi correspond le 3 dans cette ligne ?

For k = 2 To .[A65536].End(3).Row- Masquer le texte des messages pré cédents -


- Afficher le texte des messages précédents -


Bonsoir isabelle,

Merci pour l'info :)




Avatar
dracbi
On 9 mai, 15:38, "Youky" wrote:
le 3 remplace (xlUp) plus rapide à écrire cé tout
Youky
a écrit dans le message de news:

On 9 mai, 13:10, "Youky" wrote:





Voici le fichier avec des adresses bidons pour ceux que cela
intéressehttp://cjoint.com/?fjnbyUjsG5
Je t'ai envoyé ce même fichier à 9h15, j'ai seulement modifié de facon que
si tu
changes directement des données en feuille Adresse
ces données soient mises à jour dans l'userform sur ce fichier.
Pour le double click rien de changé...
Youky
a écrit dans le message de news:

On 9 mai, 11:28, wrote:

J'ai trouvé des info sur le sujet ...

http://www.cathyastuce.com/vba/concept.php

Cordialement

Benjamin


En bref ...pour mettre une X dans une cellule en faisant un double
clique :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If Target = "" Then
Target = "X"
Else
Target = ""
End If
Cancel = True
End Sub


Bonjour Youky,

A quoi correspond le 3 dans cette ligne ?

For k = 2 To .[A65536].End(3).Row- Masquer le texte des messages préc édents -

- Afficher le texte des messages précédents -


Je ne parviens pas à comprendre la boucle np .
A quoi correspond elle (au nbr de parametre) ?

- nombre de parametre 1 à 10 avec chaque tour de boucle une
incrémentation de 1 ?

Idem pour la boucle For k = 2 to 16 step 2 ?
- Du compteur 2 à 16 avec un pas de 2 a chaque tour de boucle


For np = 1 To 10

For k = 2 To 16 Step 2
If Feuil6.Cells(k + pa, 1) = "" Then Exit Sub
Feuil5.Cells(nl, 1) = Feuil6.Cells(k + pa, 1)
Feuil5.Cells(nl + 1, 1) = Feuil6.Cells(k + pa, 2)
Feuil5.Cells(nl + 2, 1) = Feuil6.Cells(k + pa, 3)
Feuil5.Cells(nl + 3, 1) = Feuil6.Cells(k + pa, 4)
Feuil5.Cells(nl + 4, 1) = Feuil6.Cells(k + pa, 5)

Feuil5.Cells(nl, 5) = Feuil6.Cells(k + 1 + pa, 1)
Feuil5.Cells(nl + 1, 5) = Feuil6.Cells(k + 1 + pa, 2)
Feuil5.Cells(nl + 2, 5) = Feuil6.Cells(k + 1 + pa, 3)
Feuil5.Cells(nl + 3, 5) = Feuil6.Cells(k + 1 + pa, 4)
Feuil5.Cells(nl + 4, 5) = Feuil6.Cells(k + 1 + pa, 5)
nl = nl + 7
Next k

pa = pa + 16
nl = nl - 2
Next np

Dans mon nouveau cas je veux envoyer les info dans une feuille (Feuil
7).
Renvoyer les info à partir de la ligne 18. (Avant il y a un En tête de
document)
Les infos sélectionné doivent être inséré en ligne.
Exemple info 1 = Ligne1 colonne 1 , ligne 1 colonne 2....
L'info suivante en ligne + 1 colonne 1 , ...

Le problème c'est que ma macro ne me récupère qu'une ligne pourquoi ?
Private Sub CommandButton5_Click()
Feuil6.Cells.ClearContents
For k = 1 To Feuil2.[A65536].End(3).Row
If Feuil2.Cells(k, 1) <> "" Then
Y = Y + 1
Feuil6.Range("A" & Y & ":E" & Y).Value = _
Feuil2.Range("B" & k & ":F" & k).Value
End If
Next
Feuil7.Select
For np = 1 To 5
For k = 1 To Feuil2.[A65536].End(3).Row
nl = 18
If Feuil6.Cells(k, 1) = "" Then Exit Sub
Feuil7.Cells(nl, 1) = Feuil6.Cells(k, 1)
Feuil7.Cells(nl, 2) = Feuil6.Cells(k, 2)
Feuil7.Cells(nl, 3) = Feuil6.Cells(k, 3)
Feuil7.Cells(nl, 4) = Feuil6.Cells(k, 4)
Feuil7.Cells(nl, 5) = Feuil6.Cells(k, 5)
Next k
Next np
End Sub



Avatar
dracbi
On 10 mai, 13:44, wrote:
On 9 mai, 15:38, "Youky" wrote:





le 3 remplace (xlUp) plus rapide à écrire cé tout
Youky
a écrit dans le message de news:

On 9 mai, 13:10, "Youky" wrote:

Voici le fichier avec des adresses bidons pour ceux que cela
intéressehttp://cjoint.com/?fjnbyUjsG5
Je t'ai envoyé ce même fichier à 9h15, j'ai seulement modifié de facon que
si tu
changes directement des données en feuille Adresse
ces données soient mises à jour dans l'userform sur ce fichier.
Pour le double click rien de changé...
Youky
a écrit dans le message de news:

On 9 mai, 11:28, wrote:

J'ai trouvé des info sur le sujet ...

http://www.cathyastuce.com/vba/concept.php

Cordialement

Benjamin


En bref ...pour mettre une X dans une cellule en faisant un double
clique :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If Target = "" Then
Target = "X"
Else
Target = ""
End If
Cancel = True
End Sub


Bonjour Youky,

A quoi correspond le 3 dans cette ligne ?

For k = 2 To .[A65536].End(3).Row- Masquer le texte des messages pré cédents -

- Afficher le texte des messages précédents -


Je ne parviens pas à comprendre la boucle np .
A quoi correspond elle (au nbr de parametre) ?

- nombre de parametre 1 à 10 avec chaque tour de boucle une
incrémentation de 1 ?

Idem pour la boucle For k = 2 to 16 step 2 ?
- Du compteur 2 à 16 avec un pas de 2 a chaque tour de boucle

For np = 1 To 10

For k = 2 To 16 Step 2
If Feuil6.Cells(k + pa, 1) = "" Then Exit Sub
Feuil5.Cells(nl, 1) = Feuil6.Cells(k + pa, 1)
Feuil5.Cells(nl + 1, 1) = Feuil6.Cells(k + pa, 2)
Feuil5.Cells(nl + 2, 1) = Feuil6.Cells(k + pa, 3)
Feuil5.Cells(nl + 3, 1) = Feuil6.Cells(k + pa, 4)
Feuil5.Cells(nl + 4, 1) = Feuil6.Cells(k + pa, 5)

Feuil5.Cells(nl, 5) = Feuil6.Cells(k + 1 + pa, 1)
Feuil5.Cells(nl + 1, 5) = Feuil6.Cells(k + 1 + pa, 2)
Feuil5.Cells(nl + 2, 5) = Feuil6.Cells(k + 1 + pa, 3)
Feuil5.Cells(nl + 3, 5) = Feuil6.Cells(k + 1 + pa, 4)
Feuil5.Cells(nl + 4, 5) = Feuil6.Cells(k + 1 + pa, 5)
nl = nl + 7
Next k

pa = pa + 16
nl = nl - 2
Next np

Dans mon nouveau cas je veux envoyer les info dans une feuille (Feuil
7).
Renvoyer les info à partir de la ligne 18. (Avant il y a un En tête de
document)
Les infos sélectionné doivent être inséré en ligne.
Exemple info 1 = Ligne1 colonne 1 , ligne 1 colonne 2....
L'info suivante en ligne + 1 colonne 1 , ...

Le problème c'est que ma macro ne me récupère qu'une ligne pourquoi ?
 Private Sub CommandButton5_Click()
Feuil6.Cells.ClearContents
For k = 1 To Feuil2.[A65536].End(3).Row
If Feuil2.Cells(k, 1) <> "" Then
Y = Y + 1
Feuil6.Range("A" & Y & ":E" & Y).Value = _
Feuil2.Range("B" & k & ":F" & k).Value
End If
Next
Feuil7.Select
For np = 1 To 5
For k = 1 To Feuil2.[A65536].End(3).Row
nl = 18
If Feuil6.Cells(k, 1) = "" Then Exit Sub
Feuil7.Cells(nl, 1) = Feuil6.Cells(k, 1)
Feuil7.Cells(nl, 2) = Feuil6.Cells(k, 2)
Feuil7.Cells(nl, 3) = Feuil6.Cells(k, 3)
Feuil7.Cells(nl, 4) = Feuil6.Cells(k, 4)
Feuil7.Cells(nl, 5) = Feuil6.Cells(k, 5)
Next k
Next np
End Sub- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Bon j'ai trouvé pour mon cas:
nl était mal placé


Private Sub CommandButton5_Click()

Feuil6.Cells.ClearContents

For k = 1 To Feuil2.[A65536].End(3).Row

If Feuil2.Cells(k, 1) <> "" Then
Y = Y + 1
Feuil6.Range("A" & Y & ":E" & Y).Value = _
Feuil2.Range("B" & k & ":F" & k).Value
End If
Next

Feuil7.Select
nl = 18

For k = 2 To Feuil2.[A65536].End(3).Row

If Feuil6.Cells(k, 1) = "" Then Exit Sub
Feuil7.Cells(nl, 1) = Feuil6.Cells(k, 1)
Feuil7.Cells(nl, 2) = Feuil6.Cells(k, 2)
Feuil7.Cells(nl, 3) = Feuil6.Cells(k, 3)
Feuil7.Cells(nl, 4) = Feuil6.Cells(k, 4)
Feuil7.Cells(nl, 5) = Feuil6.Cells(k, 5)
nl = nl + 1
Next k

End Sub




Avatar
dracbi
On 10 mai, 14:06, wrote:
On 10 mai, 13:44, wrote:





On 9 mai, 15:38, "Youky" wrote:

le 3 remplace (xlUp) plus rapide à écrire cé tout
Youky
a écrit dans le message de news:

On 9 mai, 13:10, "Youky" wrote:

Voici le fichier avec des adresses bidons pour ceux que cela
intéressehttp://cjoint.com/?fjnbyUjsG5
Je t'ai envoyé ce même fichier à 9h15, j'ai seulement modifi é de facon que
si tu
changes directement des données en feuille Adresse
ces données soient mises à jour dans l'userform sur ce fichier.
Pour le double click rien de changé...
Youky
a écrit dans le message de news:

On 9 mai, 11:28, wrote:

J'ai trouvé des info sur le sujet ...

http://www.cathyastuce.com/vba/concept.php

Cordialement

Benjamin


En bref ...pour mettre une X dans une cellule en faisant un double
clique :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cance l
As Boolean)
If Target = "" Then
Target = "X"
Else
Target = ""
End If
Cancel = True
End Sub


Bonjour Youky,

A quoi correspond le 3 dans cette ligne ?

For k = 2 To .[A65536].End(3).Row- Masquer le texte des messages pr écédents -

- Afficher le texte des messages précédents -


Je ne parviens pas à comprendre la boucle np .
A quoi correspond elle (au nbr de parametre) ?

- nombre de parametre 1 à 10 avec chaque tour de boucle une
incrémentation de 1 ?

Idem pour la boucle For k = 2 to 16 step 2 ?
- Du compteur 2 à 16 avec un pas de 2 a chaque tour de boucle

For np = 1 To 10

For k = 2 To 16 Step 2
If Feuil6.Cells(k + pa, 1) = "" Then Exit Sub
Feuil5.Cells(nl, 1) = Feuil6.Cells(k + pa, 1)
Feuil5.Cells(nl + 1, 1) = Feuil6.Cells(k + pa, 2)
Feuil5.Cells(nl + 2, 1) = Feuil6.Cells(k + pa, 3)
Feuil5.Cells(nl + 3, 1) = Feuil6.Cells(k + pa, 4)
Feuil5.Cells(nl + 4, 1) = Feuil6.Cells(k + pa, 5)

Feuil5.Cells(nl, 5) = Feuil6.Cells(k + 1 + pa, 1)
Feuil5.Cells(nl + 1, 5) = Feuil6.Cells(k + 1 + pa, 2)
Feuil5.Cells(nl + 2, 5) = Feuil6.Cells(k + 1 + pa, 3)
Feuil5.Cells(nl + 3, 5) = Feuil6.Cells(k + 1 + pa, 4)
Feuil5.Cells(nl + 4, 5) = Feuil6.Cells(k + 1 + pa, 5)
nl = nl + 7
Next k

pa = pa + 16
nl = nl - 2
Next np

Dans mon nouveau cas je veux envoyer les info dans une feuille (Feuil
7).
Renvoyer les info à partir de la ligne 18. (Avant il y a un En tête de
document)
Les infos sélectionné doivent être inséré en ligne.
Exemple info 1 = Ligne1 colonne 1 , ligne 1 colonne 2....
L'info suivante en ligne + 1 colonne 1 , ...

Le problème c'est que ma macro ne me récupère qu'une ligne pourquo i ?
 Private Sub CommandButton5_Click()
Feuil6.Cells.ClearContents
For k = 1 To Feuil2.[A65536].End(3).Row
If Feuil2.Cells(k, 1) <> "" Then
Y = Y + 1
Feuil6.Range("A" & Y & ":E" & Y).Value = _
Feuil2.Range("B" & k & ":F" & k).Value
End If
Next
Feuil7.Select
For np = 1 To 5
For k = 1 To Feuil2.[A65536].End(3).Row
nl = 18
If Feuil6.Cells(k, 1) = "" Then Exit Sub
Feuil7.Cells(nl, 1) = Feuil6.Cells(k, 1)
Feuil7.Cells(nl, 2) = Feuil6.Cells(k, 2)
Feuil7.Cells(nl, 3) = Feuil6.Cells(k, 3)
Feuil7.Cells(nl, 4) = Feuil6.Cells(k, 4)
Feuil7.Cells(nl, 5) = Feuil6.Cells(k, 5)
Next k
Next np
End Sub- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Bon j'ai trouvé pour mon cas:
  nl était mal placé

Private Sub CommandButton5_Click()

Feuil6.Cells.ClearContents

For k = 1 To Feuil2.[A65536].End(3).Row

If Feuil2.Cells(k, 1) <> "" Then
Y = Y + 1
Feuil6.Range("A" & Y & ":E" & Y).Value = _
Feuil2.Range("B" & k & ":F" & k).Value
End If
Next

Feuil7.Select
nl = 18

For k = 2 To Feuil2.[A65536].End(3).Row

If Feuil6.Cells(k, 1) = "" Then Exit Sub
Feuil7.Cells(nl, 1) = Feuil6.Cells(k, 1)
Feuil7.Cells(nl, 2) = Feuil6.Cells(k, 2)
Feuil7.Cells(nl, 3) = Feuil6.Cells(k, 3)
Feuil7.Cells(nl, 4) = Feuil6.Cells(k, 4)
Feuil7.Cells(nl, 5) = Feuil6.Cells(k, 5)
nl = nl + 1
Next k

End Sub- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


pour effacer la plage j'ai mis sa dans une macro
Range("a18").CurrentRegion.ClearContents

et je l'appelel juste après ca
Feuil6.Cells.ClearContents
Feuil7.Select
Call Macro1

voilou :o)





1 2