Multiplie x fois la copie d'un texte au départ d'une cellule

bonjour,

Je souhaite écrire un texte un certain nombre de fois à la suite de la première cellule sélectionnée.

CBoxNombre = le nombre de fois dont sera copier le texte

PDepart = le départ de la copie sachant que la feuille contient 3 colonnes (A, B et C) sur 22 lignes

TextEtiquette = texte à dupliquer

Exemple : TextEtiquette = A consommer avant le 15/01/2013, CBoxNombre = 8 et PDepart = B2

le résultat du code VBA devra donc écrire une première fois dans feuille1 en B2 puis dupliquer 7 fois ce qui donne copie dans C2, A3, B3, C3, A4, B4 et C4.

Comment faire ?

Merci

Frederique

Bonsoir

A voir

Je me suis servi de ton fichier de l'autre post

bonjour Banzai64

Merci pour votre réactivité et pour votre aide.

Tout fonctionne

Frederique

bonsoir,

Je réouvre ce post car j'ai 2 options ajouter à l'userform.

- la 1ère

la copie se fait dans le sens de l'horizontal si OptButtonH est coché (par défaut à l'initialisation de l'Userform) sinon à la vertical si OptButtonV est coché

- la 2è

toujours dans la même idée mais avec en plus le choix de la feuille désigné par les optionbutton "OptButtonCong" (par défaut aussi à l'initialisation de l'Userform) et "OptButtonCons"

Comment faire car trop compliquer pour mon niveau VBA ?

Merci de votre aide

Frederique

Bonjour

Avec ton fichier contenant le nouvel Userform et le code déjà fait

bonsoir Banzai64,

Ci-joint le fichier.

En vous remerciant à l'avance pour votre aide précieuse

Frederique

Bonjour

Il manque des renseignements

fredoud a écrit :

la copie se fait dans le sens de l'horizontal si OptButtonH est coché (par défaut à l'initialisation de l'Userform) sinon à la vertical si OptButtonV est coché

Donnes des exemples de résultats

10 étiquettes si Horizontal et 10 étiquettes si Vertical

Pour les feuilles

Quelle feuille correspond à OptButtonCong ?

Quelles sont les différences entre ces feuilles et pourquoi ?

Pourquoi faire simple quand on peut faire compliqué

re Banzai64,

12 étiquettes si Horizontal = A1 à A12

14 étiquettes si Horizontal = A1 à A12 et B1 à B2 (Illustré dans partie de gauche feuille Etiquettes 2)

3 étiquettes si Vertical = A1 à C1

10 étiquettes si Vertical = A1 à C1, A2 à C2, A3 à C3 et D1 (Illustré dans feuille Etiquettes)

Quelle feuille correspond à OptButtonCong ?

Feuille Etiquettes. OptButtonCons désigne la feuille Etiquettes 2, le format est différent car plus tard une image sera ajoute en plus des informations.

J'ai modifier UserForm initialise pour les optionbutton mais cela uniquement le titre et la premières des colonnes et lignes. J'ai essaye plusieurs combinaisons mais je ne trouve pas

Serait-il possible de jeter un œil ?

Merci

Frederique

Bonsoir

Donc si Horizontal on remplit les cases en vertical (A1 à A12 ....)

Si Vertical on remplit les case en horizontal (A1 à C1, A2 à C2 ...)

C'est d'une logique imparable

On commence toujours en A1 ?

Dans une page on peut mettre au maximum 3 X 12 = 36 étiquettes ?

re

On commence toujours en A1 ?

Cela depend de ce que l'on met dans ComboBox "CBoxColonne" et "CBoxLigne"

ex. : CBoxColonne = B et CBoxLigne = 2, on va donc commencer en B2

Dans une page on peut mettre au maximum 3 X 12 = 36 étiquettes ?

Si on commence en A1 et le nombre d'étiquettes demandé avec ComboBox "CBoxNombre" :

  • dans feuille "Etiquettes", il y a 3 colonnes et 21 lignes, ca fait un total de 63 (il y en aura jamais autant c'est pour la maison et non une industrie)
  • dans feuille "Etiquettes 2", il y a 4 colonnes et 12 lignes, ca fait un total de 48 (même chose y en aura jamais autant)

Si besoin d'autres précisions, n'hésitez pas

Merci

Frederique

bonjour,

je réitère ma demande d'aide concernant mon fichier, je vais commencé petit à petit

Je souhaite utiliser rowsource de la feuille Listes en "I" pour Ligne et "J" pour Colonne en passant par le code ci-dessous, dans les ComboBox "CBoxColonne" et "CBoxLigne" avec options

ex: si "OptButtonH" est coché alors "CBoxColonne" liste de A jusqu'à C et "CBoxLigne" liste de 1 à 21, par compte

si "OptButtonV" est coché alors "CBoxColonne" liste de A jusqu'à D et "CBoxLigne" liste de 1 à 12

J'ai écrit ceci :

Dim laListe
If OptButtonH = True Then
laListe = Sheets("Listes" ).Range("I2:I" & Sheets("Listes" ).Range("I22" ).Row)
CBoxLigne.List = laListe
laListe  = Sheets("Listes" ).Range("J2:J" & Sheets("Listes" ).Range("J4" ).Row)
CBoxColonne.List = laListe
ElseIf OptButtonV = True Then
laListe  = Sheets("Listes" ).Range("I2:I" & Sheets("Listes" ).Range("I13" ).Row)
CBoxLigne.List = laListe
laListe  = Sheets("Listes" ).Range("J2:J" & Sheets("Listes" ).Range("J5" ).Row)
CBoxColonne.List = laListe
End If

mais fonctionne pas, comment utiliser le control OptionButton ?

pouvez-vous m'aider ?

Merci

Frededrique

Bonjour

Je m'y perds

Pourquoi tu veux modifier le nombre de colonne et de ligne si c'est horizontal ou vertical

La page c'est la même ?

On ne rajoute pas ou retranche des lignes et colonnes en cours de route

Devient vraiment compliqué

A suivre

re,

Pourquoi tu veux modifier le nombre de colonne et de ligne si c'est horizontal ou vertical

Ce n'est pas pour modifier le nombre, c'est pour indiquer ou commence l'impression des étiquettes.

Imaginons qu'une précédente impression est commencé en A1 et termine en B3, on ne va pas jeter la feuille d'étiquettes, c'est du gaspillage de papier !

Le code précédemment nommé va charger une liste à l'initialisation de l'UserForm.

J'espère que mes explications sont assez claire et je vous remercie à l'avance de l'aide que vous porter à l'élaboration de mon fichier.

Frederique

Bonsoir

Je te pose une question sur le nombre de lignes et de colonnes et tu me réponds sur la position de départ

Ce n'est pas la position de départ qui modifie le nombre de lignes/colonnes

Même si ta page d'étiquettes est commencée le nombre de lignes et colonnes est le même (sauf si tu changes la feuille d'étiquettes)

re,

Je ne comprends pas ce que vous voulez dire.

Est-ce que c'est cela :

Dans feuille "Etiquettes", il y a 3 colonnes et 21 lignes et

dans feuille "Etiquettes 2", il y a 4 colonnes et 12 lignes

Je ne sais pas si j'ai bien compris mais je pensais qu'avec le fichier dans autre message ci-dessus, j'avais été plus clair.

Merci

Frederique

Bonsoir

Du mal à se comprendre

Je voudrais savoir en quoi le fait que la recopie des étiquettes se fasse en horizontal ou en vertical influence le nombre de ligne ou de colonne

Image une page de 21 lignes de 4 colonnes (représente ta feuille d'étiquettes)

Que tu copies le libellé des étiquettes de A1,A2,A3 ....B1,B2,B3 etc (sens horizontal) ou que tu copies le libellé des étiquettes de A1,B1,C1,D1,A2,B2,C2,D2,A3...etc (sens vertical)

Le nombre de ligne et de colonne ne changera jamais tu auras toujours 21 lignes de 4 colonnes (4 colonnes de 21 lignes)

Donc à quoi çà sert de modifier dans les combobox le nombre de ligne et le nombre de colonne

Que tu fasses cette modification en fonction de la page serait plus normal

Mais bon peut-être que je suis à côté de la plaque depuis le début

re,

Au lieu d'avoir

'Point de départ de la copie
PDepart = A1

J'ai fait ceci

...
Colonne = Me.CBoxColonne
Ligne = Me.CBoxLigne

    PDepart = Colonne & Ligne
    PremLig = CBoxProduit & " - " & CBoxMarque & Chr(10)
    SecLig = "Mise en conditionnement le : " & TxtBoxDate & Chr(10)
    TrLig = "A consommer avant le " & TxtBoxDLC

    TextEtiquette = PremLig & SecLig & TrLig

    With Sheets(1)
      With .Range(PDepart)
        .Value = TextEtiquette
        .Characters(Start:=1, Length:=Len(PremLig)).Font.Bold = True
        .Characters(Start:=Len(PremLig) + Len(SecLig), Length:=Len(TrLig)).Font.Italic = True
      End With
      Indice = ((.Range(PDepart).Row - 1) * 3) + .Range(PDepart).Column - 1
      For I = 1 To Val(Me.CBoxNombre) - 1
        Indice = Indice + 1
        .Range(PDepart).Copy Destination:=.Cells(1 + (Indice) \ 3, 1 + ((Indice) Mod 3))
      Next I
    End With
  End If
...

pour désigner le point de départ.

J'ai réglé mon problème de control OptionButton pour le rowsource "CBoxColonne" et "CBoxLigne".

Maintenant, je cherche a effectuer la x copie dans le sens de la vertical. Actuellement avec ce code on est en horizontal

Bonjour

Comme les questions restent sans réponses et qu'en plus tu te contredis

Banzai64 a écrit :

Pourquoi tu veux modifier le nombre de colonne et de ligne si c'est horizontal ou vertical

La page c'est la même ?

fredoud a écrit :

étiquettes si Horizontal = A1 à A12 et B1 à B2 (Illustré dans partie de gauche feuille Etiquettes 2)

fredoud a écrit :

étiquettes si Vertical= A1 à C1, A2 à C2, A3 à C3 et D1 (Illustré dans feuille Etiquettes)

fredoud a écrit :

Actuellement avec ce code on est en horizontal

Ce code écrit A1,B1,C1,A2,B2.....

Je fais ce programme comme je le comprenais

bonjour Banzai64,

Je vous remercie Banzai64, vous avez parfaitement compris ce que je voulais dans mon broua. J'ai toujours pas récupéré mes esprits suite à mon intervention, il y a 2 semaines.

Dans le fabrication d'étiquettes de conserves, je souhaite ajouter une image sur la droite de la cellule puis faire la copie x fois. Je vais chercher déjà comment afficher image dans userform

Est-ce possible d'jouter cette images avec votre code en y apportant des modifications ?

En vous remerciant encore,

Frederique

Bonjour

fredoud a écrit :

Est-ce possible d'jouter cette images avec votre code en y apportant des modifications ?

Surement

Rechercher des sujets similaires à "multiplie fois copie texte depart"