• Initiateur de la discussion Initiateur de la discussion Guillaume
  • 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 !

G

Guillaume

Guest
Bonjour,

Je cherche à écrire une macro (c'est la première fois) qui pourrait selectionner une colonne (j'ai trouvé comment) afin de comparer les valeurs des cellules qui s'y trouvent avec une valeur de référence et copier celle qui sont équivalentes dans une autre colonne mais je ne sais pas comment faire pour comparer et copier ces valeurs.

Pouvez vous m'aider ?

Merci
 

Pièces jointes

bonjour Guillaume,
voici un début de code qui peut t'aider
Sub cherche()

With Worksheets("Feuil1").Range("C1:C10")
Set c = .Find("1 - 1", LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Offset(0, 1).Copy
Range("G1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With


End Sub
 
Bonjour

Public Sub vev()
Dim c As Range
Dim ligne As Integer, colonne As Integer

'initialisation de la variable ligne
ligne = 16
'pour chaque cellule de la colonne C de la ligne 1 à la derniere non vide
For Each c In Range("c1:c" & Range("c65000").End(xlUp).Row)
'Si dans la cellule on trouve "1 - 1"
If Not c.Find("1 - 1") Is Nothing Then
'alors pour colonne = 1 jusqu'à 4
For colonne = 1 To 4
' a la cellule (16,1) on place les valeurs de la ligne contenant "1 - 1"
Cells(ligne, colonne) = Cells(c.Row, colonne)
Next colonne
'incrémentation de la ligne, sinon on écrit toujours sur la même
ligne = ligne + 1
End If
Next c
End Sub

les données s'inscrivent à partir de la ligne 16 et copie l'ensemble de la ligne.

Salut
Hervé
 
Merci Hervé,

dans ton exemple le copier-coller des cellules commence ligne 16 mais si je veux que ça soit coller plutôt dans la colonne 6 à la ligne 2 quelle est la ligne de commande que je dois rajouter ou modifier ?

Public Sub vev()
Dim c As Range
Dim ligne As Integer, colonne As Integer

'initialisation de la variable ligne ICI JE MODIFIE COMMENT ?
ligne = 16, COLONNE = 5 ???
'pour chaque cellule de la colonne C de la ligne 1 à la derniere non vide
For Each c In Range("c1:c" & Range("c65000").End(xlUp).Row)
'Si dans la cellule on trouve "1 - 1"
If Not c.Find("1 - 1") Is Nothing Then
'alors pour colonne = 1 jusqu'à 4
For colonne = 1 To 4
' a la cellule (16,1) on place les valeurs de la ligne contenant "1 - 1"
Cells(ligne, colonne) = Cells(c.Row, colonne)
Next colonne
'incrémentation de la ligne, sinon on écrit toujours sur la même
ligne = ligne + 1
End If
Next c
End Sub
 
bonsoir

Public Sub vev()
Dim c As Range
Dim ligne As Integer, colonne As Integer

'initialisation de la variable ligne
ligne = 2
'pour chaque cellule de la colonne C de la ligne 1 à la derniere non vide
For Each c In Range("c1:c" & Range("c65000").End(xlUp).Row)
'Si dans la cellule on trouve "1 - 1"
If Not c.Find("1 - 1") Is Nothing Then
'alors pour colonne = 6 jusqu'à 9
For colonne = 6 To 9
' a la cellule (16,1) on place les valeurs de la ligne contenant "1 - 1"
Cells(ligne, colonne) = Cells(c.Row, colonne - 5)
Next colonne
'incrémentation de la ligne, sinon on écrit toujours sur la même
ligne = ligne + 1
End If
Next c
End Sub


désolé pour le coté non pédagoque de ma démarche , je reviendrait dès que possible.

Salut
hervé

Salut
Hervé
 
re

je reviens (mes problèmes de connexion étant résolu ) :

Dans cette macro le pivot c'est le c de la boucle for each c

on renvoi les donnees de la ligne c (c.row) vers les cellules qui on été passé en variable:

ligne : que l'on initialise au départ (ligne = 2) puis que l'on incrémente : ligne = ligne +1

colonne : on boucle for colonne = 6 to 9, ainsi on évite le moche
....c.offset(0,1)
....c.offset(0,-1)
.....etc


AU SECOURS je sais pas expliquer , m'en veut pas guillaume, mais vraiment je suis pas pédago pour 2 sous .

Si quelqu'un sait mieux faire que moi qu'il ne se gêne pas....

Salut
Hervé
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
233
Réponses
18
Affichages
445
Retour