Selection de colonne

  • Initiateur de la discussion Initiateur de la discussion Neithen
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Neithen

XLDnaute Nouveau
Bonjour,

J'ai récupéré un fichier excel, qui génère des QR code en ligne, à partir des données présentes dans tout le document. Ce que je souhaite c'est que cette sélection s'effectue sur une colonne.

Je pense que la ligne a modifier est gras, cependant après plusieurs recherches et de tests avec Range, Cell, colums select, j'ai toujours une erreur. Si quelqu'un peut m'aiguiller, je suis preneur.

voici le code :

Function Feuille_existe(Feuille_nom As String) As Boolean
' Retourne VRAI si la feuille existe dans le classeur actif
Feuille_existe = False
On Error GoTo erreur
If Len(Sheets(Feuille_nom).Name) > 0 Then
Feuille_existe = True
Exit Function
End If
erreur:
End Function
Sub creer_QRcode()



Dim enregistrement As Range
Dim donnee As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False


Set sel = Selection.SpecialCells(xlTextValues) 'sélectionne toutes les données de la feuille


If Feuille_existe("QRcodes") Then
Worksheets("QRcodes").Delete 'efface la feuille QRcodes si elle existe
End If

Set newfeuille = Worksheets.Add()
newfeuille.Name = "QRcodes"
Set cellule = newfeuille.Range("A1")


For Each enregistrement In sel
donnee = enregistrement.Value
donnee = "http://api.qrserver.com/v1/create-qr-code/?data=" & donnee & "&size=250x250"
'donnee = "http://api.qrserver.com/v1/create-qr-code/?data=BEGIN%3AVCARD%0AFN%3Aprenom%20Nom%0ATEL%3Atelephone%0AEMAIL%3ACourriel%0AURL%3Ahttp%3A%2F%2Fsiteweb.fr%0AN%3ANom%3Bprenom%0AADR%3Arue%3Bcodepostal%3BVille%0AVERSION%3A3.0%0AEND%3AVCARD%0A&size=315x315"

Set newforme = newfeuille.Shapes.AddShape(msoShapeRectangle, cellule.Left, cellule.Top, 15, 15) 15, 15 indique la taille de la forme
'1 pixel = 0.0353 cm )

newforme.Name = enregistrement 'nomme l'image en fonction de l'url
newforme.Line.Visible = False 'enlève la ligne de contour
newforme.Fill.UserPicture (donnee) 'insère l'image dans la forme

Set cellule = cellule.Offset(0, 0).Range("B1")
cellule.Value = enregistrement.Value
Set cellule = cellule.Offset(1, -1).Range("A1")
Next

Application.DisplayAlerts = True
Application.ScreenUpdating = True
'
End Sub
 

Pièces jointes

Re : Selection de colonne

Bonjour,

ton explication est nébuleuse : je comprend que les données peuvent être n'importe où dans la feuille?

Si c'est le cas tu peux écrire

Set sel = Cells.SpecialCells(xlTextValues) 'sélectionne toutes les données de la feuille

cells représente toute la feuille donc tu prendra toutes les valeurs de type text même si elles ne sont pas contigües



si tu connais la plage

Set sel = Range("A1😛500").SpecialCells(xlTextValues) 'sélectionne toutes les données de la feuille
ou avec cells
Set sel = Range(Cells(1, 1), Cells(500, 16)).SpecialCells(xlTextValues) 'sélectionne toutes les données de la feuille




GIBI
 
Dernière édition:
Re : Selection de colonne

Actuellement la sélection s'effectue sur toute la feuille, ce que je souhaite c'est sélectionner qu'une seule colonne

En gros si tu rentres des données n'importe où, elles seront traitées et mise en colonne en A1 A2 A3... etc autant qu'il y a de cellules pleines. Et là où ça se complique c'est que je souhaite que cette sélection de données ne s'effectue que sur une colonne (D par exemple) donc les données traitées ne seront que celle de la colonne D.

Edit : Merci pour ta solution GIBI c'est tout à fait ce que je souhaitai !
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
512
Réponses
3
Affichages
1 K
Retour